> 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

Reply via email to