Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2008-04-01 10:40:38


Steve M. Robbins wrote:

> Hi,
>
> We have been building boost (up to 1.34.1) for Debian/linux using
>
> $(JAM) variant=release,debug threading=single,multi
>
> where $(JAM) is the path to bjam (built from the boost sources)
> together with the options -d2, --user-config and -sHAVE_ICU=1.
>
> The user config file contains:
>
> using gcc : 4.2 : g++-4.2 : <define>_REENTRANT ;
> using python : 2.4 : /usr ;
> using python : 2.5 : /usr ;
>
>
> This always resulted in four static libraries and four
> shared libraries for, say, the date-time library.
>
> With 1.35, however, I get the four shared libs but only one
> static lib:
>
> steve_at_riemann{boost_1_35_0}grep 'gcc.link.dll.*date' ../boost_1.35.0-1_i386.build
> gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/release/libboost_date_time-gcc42-1_35.so.1.35.0
> gcc.link.dll
>
bin.v2/libs/date_time/build/gcc-4.2/release/threading-multi/libboost_date_time-gcc42-mt-1_35.so.1.35.0
> gcc.link.dll bin.v2/libs/date_time/build/gcc-4.2/debug/libboost_date_time-gcc42-d-1_35.so.1.35.0
> gcc.link.dll
>
bin.v2/libs/date_time/build/gcc-4.2/debug/threading-multi/libboost_date_time-gcc42-mt-d-1_35.so.1.35.0
>
> steve_at_riemann{boost_1_35_0}grep 'gcc.archive.*date' ../boost_1.35.0-1_i386.build
> gcc.archive
> ../../../bin.v2/libs/date_time/build/gcc-4.2/release/link-static/threading-multi/libboost_date_time-gcc42-mt-1_35.a
>
> How do I get all 8 library builds back?

Assuming you really want those 8 library variants (just in case -- which other libraries
in Debian build that many?) you can use:

        $(JAM) variant=release,debug threading=single,multi link=shared,static

> I have read a couple of posts about --build-type=complete, so I tried adding that to $(JAM),
> but this gives a completely inpenetrable error:
>
> Skipping build of: ./headers <build>no in common properties
> Skipping build of: ./build_all <build>no in common properties
> Skipping build of: libs/regex/build/icucore <build>no in common properties
> Skipping build of: libs/regex/build/icuin <build>no in common properties
> Skipping build of: libs/regex/build/icudata <build>no in common properties
> /usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/class.jam:93: in
> new *** argument error
> * rule object(searched-lib-target)@2059.__init__ ( name : project : shared ? : search * : action )
> * called with: ( icudata icui18n icuuc : object(project-target)@212 : true : :
> object(null-action)@2058 : : : : ) * extra argument icui18n
.........
> /usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/bootstrap.jam:132:
> in boost-build /usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/boost-build.jam:11: in
> module scope make: *** [build-stamp] Error 1
>
> What does this mean: did I invoke bjam incorrectly or is some jam file broken?

I don't understand what that means, either. Can you provide the output with extra --debug-building
option? Might be that building regex statically got broken somehow.

- Volodya


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