Boost logo

Boost-Build :

From: Steve M. Robbins (steve_at_[hidden])
Date: 2008-03-31 16:07:49


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?

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/tools/builtin.jam:349:see definition of rule '__init__' being called
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/tools/builtin.jam:592: in searched-lib-generator.run
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/tools/unix.jam:113: in object(unix-searched-lib-generator)@25.run
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:859: in try-one-generator-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:920: in try-one-generator
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:1131: in construct-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:1204: in generators.construct
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/tools/builtin.jam:496: in object(lib-generator)@5.run
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:859: in try-one-generator-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:920: in try-one-generator
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:1131: in construct-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/generators.jam:1204: in generators.construct
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:1368: in construct
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:1206: in object(typed-target)@224.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:742: in generate-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:715: in object(main-target)@655.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:254: in object(project-target)@212.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:858: in targets.generate-from-reference
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:1129: in generate-dependencies
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:1179: in object(alias-target-class)@114.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:742: in generate-really
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:715: in object(main-target)@376.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build/targets.jam:254: in object(project-target)@70.generate
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/build-system.jam:658: in load
/usr/local/src/Packages/boost/upstream/1.35/boost_1_35_0/tools/build/v2/kernel/modules.jam:267: in import
/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?

Thanks,
-Steve




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