
According to http://blogs.sun.com/sga/entry/boost_mini_howto "upcoming Boost 1.34 works with Sun C++ well out of the box" - can anyone confirm this? I'm trying to upgrade from Boost 1.33.1 to Boost 1.34.1 on Solaris 10/SPARC but ran into problems with both CC (Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25) and g++ 3.4.6. With "./bjam --toolset=sun stage" I see this error (among others): sun.compile.c++ bin.v2/libs/wave/build/sun/debug/threading-multi/instantiate_cpp_exprgrammar.o "./boost/wave/util/flex_string.hpp", line 529: Error: Formal argument 2 of type void* in call to std::allocator<char>::allocate(unsigned, void*) is being passed const char*. "./boost/wave/util/flex_string.hpp", line 558: Where: While instantiating "boost::wave::util::AllocatorStringStorage<char, std::allocator<char>>::Alloc(unsigned, const void*)". "./boost/wave/util/flex_string.hpp", line 558: Where: Instantiated from static boost::wave::grammars::expression_grammar_gen<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char>>, char*>>>>>::evaluate(const std::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char>>, char*>>>>, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char>>, char*>>>>, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32>>::const_iterator&, const std::list<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char>>, char*>>>>, boost::fast_pool_allocator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char>>, char*>>>>, boost::default_user_allocator_new_delete, boost::details::pool::null_mutex, 32>>::const_iterator&, const boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char>>, char*>>>&, bool, boost::wave::grammars::value_error&). "libs/wave/src/instantiate_cpp_exprgrammar.cpp", line 39: Where: Instantiated from non-template code. 1 Error(s) detected. With "./bjam --toolset=gcc stage" I see that error (again among others): gcc.link.dll bin.v2/libs/thread/build/gcc-3.4.6/debug/threading-multi/libboost_thread-gcc34-mt-d-1_34_1.so.1.34.1 /usr/ccs/bin/ld: illegal option -- start-group /usr/ccs/bin/ld: illegal option -- end-group ... collect2: ld returned 1 exit status As the Boost Mini HOWTO mentions that Boost 1.34 should work out of the box I wonder if I'm the only one having a problem on Solaris? As the Getting Started document mentions that "only very recent versions are known to work well with Boost" - is Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25 maybe not recent enough? :) Boris