id summary reporter owner description type status milestone component version severity resolution keywords cc 77 config needed for AIX - gcc cpqlvc John Maddock "{{{ It looks like Boost.Threads is not configured for the platform / compiler combination AIX / gcc. I'm trying to compile Boost.Threads on a RS/6000 box running AIX 4.3 under gcc 2.95.3. On my first attempt to compile condition.cpp, I got the following error message: (27_0/libs/thread/src)$ g++ -g -Wall -W -c -I../../.. condition.cpp In file included from ../../../boost/limits.hpp:15, from condition.cpp:16: ../../../boost/detail/limits.hpp:55: #error The file boost/detail/limits.hpp needs to be set up for your CPU type. (27_0/libs/thread/src)$ Above the #error is a #ifndef that tests for the definition of several macros. Under g++ __powerpc__ is not defined, but _POWER is; so, I added a defined(_POWER) to the list of conditions. The next problem that I ran into is that select_platform_config.hpp only includes aix.hpp if __IBMCPP__ is defined. This macro is not defined under g++. As a temporary hack I defined this macro on the command line. Fortunately the series of #elif in select_compiler_config.hpp selected gcc.hpp, so I got the right platform (aix.hpp) and compiler (gcc.hpp). aix.hh #define's BOOST_HAS_PTHREAD_YIELD. In thread.cpp thread::yield() this causes pthread_yield () to be invoked. Unfortunately (for me) /usr/include/pthread.h looks like #ifdef _AIX_PTHREADS_D7 extern void pthread_yield __((void)); #endif and _AIX_PTHREADS_D7 is not defined. To workaround this problem I defined BOOST_HAS_SCHED_YIELD on the command line. I don't know whether my little workarounds / command line hacks are correct. By documenting this problem I'm hoping that Boost.Threads will be updated to support AIX / gcc. Thanks, Doug }}}" Bugs closed config None Fixed