Missing vfwprintf

When compiling ACE/TAO/CIAO (www.cs.wustl.edu/~schmidt) one of our users reports the following warning/errors. How can these be resolved? The same code compiles fine with Intel C++/GCC on Linux. The user is using ubuntu 7.10

pgCC -O3 -g -D_REENTRANT -DACE_HAS_AIO_CALLS -DACE_LACKS_LOG2 -I/home/storri/ACE_wrappers/ -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -I… -DACE_AS_STATIC_LIBS -c -o .obj/Local_Name_Space.o Local_Name_Space.cpp
“/usr/include/pthread.h”, line 650: warning: attribute “regparam” ignored __cleanup_fct_attribute;
“/usr/include/pthread.h”, line 661: warning: attribute “regparam” ignored __cleanup_fct_attribute attribute ((__noreturn))
“/home/storri/ACE_wrappers/ace/OS_NS_stdio.inl”, line 1004: error: the global scope has no “vfwprintf”
return ::vfwprintf (fp, format, argptr);

Hi,

Perhaps that is because ACE/TAO/CIAO is not ported to use pgCC. I just took a glance at the source, it looks like they only port for GNU gcc/g++ and Intel compilers.

How do you go past the configuration steps? What are your configuration options?

Hongyon

I did a first try to port ACE/TAO/CIAO in 2004, partly succeeded. Now there is a renewed interest. I am not using configure, but the traditional way of compilation where we have macros indicating what is supported and what not. Why has pgCC no vfwprintf?

Also what about the pthread warnings? Why are these given?

Hi,

Thanks for reporting a problem to us. I have filed a TPR#14756 for this request. In the mean time, there is a workaround for now until it is fixed.

cd /usr/pgi/linux86-64/7.1-6/include/CC
patch < patch

Here is a patch file:

*** /tmpwchar.h Mon Oct 16 10:51:14 2006
— ./wchar.h Fri Apr 4 16:28:15 2008


*** 42,47 ****
— 42,51 ----

include_next <wchar.h>

endif

  • #include <stdarg.h>
  • extern int vfwprintf (__FILE *__restrict __s,
  •                   __const wchar_t *__restrict __format, va_list __arg );
    

endif /* WINCE */

if (_STLP_OUTERMOST_HEADER_ID == 0x278)




Please send e-mail to trs@pgroup.com if you need a patch above in a file.

Hongyon