Subject: Re: [Boost-build] Boost 1.59.0 bcp fails to build with sun toolset with SunStudio 12.4
From: John Maddock (jz.maddock_at_[hidden])
Date: 2016-09-21 13:03:24
On 21/09/2016 17:05, Aparna Kumta wrote:
> On 09/13/16 21:07, Kevin Maskell-Moody wrote:
>> Our boost build requires bcp to copy out certain libraries and stage
>> only the boost modules that we require. However, moving to a new
>> platform, Solaris 11.3 with SunStudio 12.4, it fails to build the
>> first piece, the bcp tool.
>> ...found 1316 targets...
>> ...updating 88 targets...
>> common.mkdir bin.v2/tools
>> common.mkdir bin.v2/tools/bcp
>> common.mkdir bin.v2/tools/bcp/sun
>> common.mkdir bin.v2/tools/bcp/sun/release
>> common.mkdir bin.v2/tools/bcp/sun/release/link-static
>> "./boost/detail/iterator.hpp", line 19: Error: iterator_traits is not
>> a member of std.
>> "./boost/iterator/iterator_traits.hpp", line 22: Error:
>> iterator_traits is not a member of boost::detail.
>> "./boost/iterator/iterator_traits.hpp", line 22: Error: A declaration
>> does not specify a tag or an identifier.
>> Compilation aborted, too many Error messages.
>> "CC" -xO4 -erroff=%none -m32 -DBOOST_ALL_NO_LIB=1
>> -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_CHRONO_THREAD_DISABLED
>> -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED
>> -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1
>> -DBOOST_TIMER_STATIC_LINK=1 -DNDEBUG -D__typeof__=__typeof__ -I"." -c
>> -o "bin.v2/tools/bcp/sun/release/link-static/add_dependent_lib.o"
>> ...failed sun.compile.c++
>> sun.compile.c++ bin.v2/tools/bcp/sun/release/link-static/add_path.o
>> So, I'm assuming that this is an issue with not picking up the
>> appropriate standard library. I did have -library=stlport4 as a part
>> of the user-config.jam.
> Yes, as you noticed, this seems to be the issue of not picking up
> If I add '-library=stlport4', to the command line above, the testcase
> compiles OK..
In addition - it really doesn't matter what compiler bcp is built with -
you could just as easily build with gcc on Solaris and get the same
result when run. Or take the Boost sub-set you created on another
platform and copy to the Solaris machine. Similarly the compiler used
to build bjam has no baring on how you build Boost itself.
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk