Ok,I changed all occurences in smart_ptr/shared_ptr.hpp to #if (!defined( __BORLANDC__ ) || !BOOST_WORKAROUND( __BORLANDC__, < 0x600 )) && !definded(_AIX) but unfortunately there are further compiler errors. The last boost version I used was 1.49 and this compiled w/o complaines. vacpp.compile.c++ bin.v2/libs/thread/build/vacpp/debug/address-model-64/link-static/runtime-link-static/threading-multi/pthread/thread.o xlC_r -c -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_THREAD_POSIX -qcpluscmt -qNOOPTimize -qnoinline -q64 -g -qfullpath -qfuncsect -qeh -qrtti -I"." -o "bin .v2/libs/thread/build/vacpp/debug/address-model-64/link-static/runtime-link-static/threading-multi/pthread/thread.o" "libs/thread/src/pthread/thread.cpp" "./boost/thread/detail/async_func.hpp", line 94.58: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/detail/async_func.hpp", line 166.54: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/detail/async_func.hpp", line 231.50: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/detail/async_func.hpp", line 291.46: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/detail/async_func.hpp", line 346.42: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/detail/async_func.hpp", line 396.38: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/detail/async_func.hpp", line 441.34: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/detail/async_func.hpp", line 481.30: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/detail/async_func.hpp", line 516.26: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/detail/async_func.hpp", line 546.22: 1540-0711 (S) Too few template arguments have been specified. "./boost/thread/cv_status.hpp", line 23.3: 1540-0219 (S) The call to "operator==" has no best match. "./boost/thread/cv_status.hpp", line 23.3: 1540-1229 (I) Argument number 1 is an rvalue of type "boost::cv_status::enum_type". "./boost/thread/cv_status.hpp", line 23.3: 1540-1229 (I) Argument number 2 is an rvalue of type "boost::cv_status::enum_type". "./boost/thread/cv_status.hpp", line 23.3: 1540-1202 (I) No candidate is better than "builtin operator==(int, int)". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 1 to "int" uses "an integral promotion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an integral promotion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1202 (I) No candidate is better than "boost::operator==(self_type, enum_type)". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 1 to "boost::cv_status" uses the user-defined conversion "boost::cv_status::cv_status(enum_type)" followed by "an lvalue-to-rvalue transformatio n". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 2 to "boost::cv_status::enum_type" uses "the identity conversion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1202 (I) No candidate is better than "boost::operator==(enum_type, self_type)". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 1 to "boost::cv_status::enum_type" uses "the identity conversion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 2 to "boost::cv_status" uses the user-defined conversion "boost::cv_status::cv_status(enum_type)" followed by "an lvalue-to-rvalue transformatio n". "./boost/thread/cv_status.hpp", line 23.3: 1540-0219 (S) The call to "operator==" has no best match. "./boost/thread/cv_status.hpp", line 23.3: 1540-1229 (I) Argument number 1 is an rvalue of type "boost::cv_status::enum_type". "./boost/thread/cv_status.hpp", line 23.3: 1540-1228 (I) Argument number 2 is an lvalue of type "boost::cv_status::enum_type". "./boost/thread/cv_status.hpp", line 23.3: 1540-1202 (I) No candidate is better than "builtin operator==(int, int)". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 1 to "int" uses "an integral promotion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an lvalue-to-rvalue transformation" followed by "an integral promotion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1202 (I) No candidate is better than "boost::operator==(self_type, enum_type)". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 1 to "boost::cv_status" uses the user-defined conversion "boost::cv_status::cv_status(enum_type)" followed by "an lvalue-to-rvalue transformatio n". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 2 to "boost::cv_status::enum_type" uses "an lvalue-to-rvalue transformation". "./boost/thread/cv_status.hpp", line 23.3: 1540-1202 (I) No candidate is better than "boost::operator==(enum_type, self_type)". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 1 to "boost::cv_status::enum_type" uses "the identity conversion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 2 to "boost::cv_status" uses "an lvalue-to-rvalue transformation" followed by the user-defined conversion "boost::cv_status::cv_status(enum_type )" followed by "an lvalue-to-rvalue transformation". "./boost/thread/cv_status.hpp", line 23.3: 1540-0219 (S) The call to "operator==" has no best match. "./boost/thread/cv_status.hpp", line 23.3: 1540-1228 (I) Argument number 1 is an lvalue of type "boost::cv_status::enum_type". "./boost/thread/cv_status.hpp", line 23.3: 1540-1229 (I) Argument number 2 is an rvalue of type "boost::cv_status::enum_type". "./boost/thread/cv_status.hpp", line 23.3: 1540-1202 (I) No candidate is better than "builtin operator==(int, int)". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 1 to "int" uses "an lvalue-to-rvalue transformation" followed by "an integral promotion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 2 to "int" uses "an integral promotion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1202 (I) No candidate is better than "boost::operator==(self_type, enum_type)". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 1 to "boost::cv_status" uses "an lvalue-to-rvalue transformation" followed by the user-defined conversion "boost::cv_status::cv_status(enum_type )" followed by "an lvalue-to-rvalue transformation". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 2 to "boost::cv_status::enum_type" uses "the identity conversion". "./boost/thread/cv_status.hpp", line 23.3: 1540-1202 (I) No candidate is better than "boost::operator==(enum_type, self_type)". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 1 to "boost::cv_status::enum_type" uses "an lvalue-to-rvalue transformation". "./boost/thread/cv_status.hpp", line 23.3: 1540-1231 (I) The conversion from argument number 2 to "boost::cv_status" uses the user-defined conversion "boost::cv_status::cv_status(enum_type)" followed by "an lvalue-to-rvalue transformation ... ... -- View this message in context: http://boost.2283326.n4.nabble.com/issues-compiling-Boost-1-54-thread-on-AIX... Sent from the Boost - Users mailing list archive at Nabble.com.