> i) Linux with KAI C++, Intel C++ > > On Linux, BOOST_HAS_PTHREADS macro is defined only if we use gcc > (config/compiler/gcc.hpp), but it's not defined for other compilers > (KAI, Intel, etc). I found that boost.thread compiles successfully by > the latter compilers if I defined BOOST_HAS_PTHREADS macro (and > BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE) by hand, and all the examples > worked fine. Is there any reason why these macros are not defined for > these compilers??
It is almost certain that there is a compiler switch that you need to turn on (often -pthread or something like it - consult your compilers documentation). Simply defining BOOST_HAS_THREADS without this will get your code compiling but it is very unlikely to work correctly. > ii) Compaq Tru64 with Compaq C++ and SGI IRIX with MIPSPro Compiler > > The example program for recursive mutex (libs/thread/example/ > recursive_mutex.cpp) compiles on these platforms, but it crashes or > ends up with deadlock if I try to run it. At the moment, I'm not sure > where the problem is in recursive mutex implementation. If I undefine > BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE, it works without any problem. I don't know if this is the issue, but if you search sgi.com for "pthread" there do seem to be a lot of OS-patches to the pthread lib available. Probably you need to address this issue on an SGI specific group though to find out which IRIX versions have a working pthread_mutexattr_settype. John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost