The THREADSAFE macro is defined as a compiler flag because we currently use the config.h file generated from autoconf/automake in target applications as the "root" or first include header from other headers Common C++, and this may have other includes embedded in it. We have to have _THREAD_SAFE defined for any libc headers before they are included....
In AIX, standards.h defines _THREAD_SAFE as a means of resolving this same kind of issue, I assume. You can strip it from the compiler CXXFLAGS. I had resolved this issue by eliminating the use of the generated config.h when I originally refactored Common C++ late last year, but the results of that effort have not yet been released, and in any case actually became a new library and a new way of programming C++. I would like to see if we can do a simple solution in Common C++, perhaps just using the configure.ac case for target type to exclude the _THREADSAFE define if the target platform is AIX. developer itcs wrote: > Hello! > > Please help me to resolve that problem > > I have some problem with compiling my application. > My application is using " commoncpp2-1.3.22 " . > Steps that I do before I compile on AIX 5.2: > > 1. CC=xlc_r > export CC > 2. CXX=xlC_r > export CXX > 3. export CFLAGS="-I /usr/local/include" > export LDFLAGS="-L /usr/local/lib" > export CPPFLAGS=$CFLAGS > export CXXFLAGS=$CFLAGS > > then > 4. ./configure --prefix=/usr/local > --with-db2="/path/to/db2" > --sysconfdir=/etc/mysql > --sbindir='/usr/local/bin' > > 5. make > > problem is : > / > config.status: creating include/config.h > config.status: executing default-1 commands > Making all in include > make all-recursive > Making all in cc++ > Target "all" is up to date. > Target "all-am" is up to date. > Target "all" is up to date. > Making all in src > /bin/sh ../libtool --mode=compile xlC_r -DHAVE_CONFIG_H -I. -I. > -I../include -I../src -DCCXX_EXPORT_LIBRARY -D_THREAD_SAFE > -D_GNU_SOURCE -fhandle-exceptions -I../include -g -c thread.cpp > xlC_r -DHAVE_CONFIG_H -I. -I. -I../include -I../src > -DCCXX_EXPORT_LIBRARY -D_THREAD_SAFE -D_GNU_SOURCE -fhandle-exceptions > -I../incl ude -g -c thread.cpp -o thread.o > > "/usr/include/thread.h", line 32.9: 1540-0848 (S) The macro name > "_THREAD_SAFE" is already defined with a different definition. > > "/usr/include/standards.h", line 62.9: 1540-0425 (I) "_THREAD_SAFE" is > defined on line 62 of "thread.cpp". > > make: 1254-004 The error code from the last command is 1./ > > Although I don`t have any problems on my Fedora Core 4(core 2.6.12.4 > <http://2.6.12.4>) in time compilation process. > > Thanks a lot! > > > best regards, > Alexander
_______________________________________________ Bayonne-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bayonne-devel
