Boost logo

Boost Users :

From: Boris (boriss_at_[hidden])
Date: 2007-10-03 08:56:31


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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net