Boost logo

Boost-Build :

Subject: [Boost-build] Problems building boost threads lib from another bjam based project
From: Claus Dræby (cld_at_[hidden])
Date: 2012-06-22 05:34:01


Hi,

I have a project that is supposed to build on several different
architectures, with as few assumptions of local environment as
possible, and therefore includes the boost libraries as yet another set
of 3rd party libs.

Hence, in my 3rd/Jamfile I have:

alias boost_system : boost//system ;
alias boost_regex : boost//regex ;
alias boost_date_time : boost//date_time ;

which is all well.

Then I add the following:
alias boost_thread : boost//thread ;

and all hell breaks loose:

/home/cld/projs/Game/3rd/boost/tools/build/v2/kernel/modules.jam:103:
in modules.call-in *** argument error
* rule Jamfile</home/cld/projs/Game/3rd/boost>.tag ( name : type ? : property-set )
* called with: ( : SHARED_LIB : object(property-set)@911 : : : : : )
* missing argument name boost/Jamroot:166:see definition of rule 'Jamfile</home/cld/projs/Game/3rd/boost>.tag' being
called /home/cld/projs/Game/3rd/boost/tools/build/v2/util/indirect.jam:96:
in indirect.call boost/libs/thread/build/Jamfile.v2:76: in
Jamfile</home/cld/projs/Game/3rd/boost/libs/thread/build>.tag /home/cld/projs/Game/3rd/boost/tools/build/v2/kernel/modules.jam:103:
in modules.call-in /home/cld/projs/Game/3rd/boost/tools/build/v2/util/indirect.jam:96:
in indirect.call /home/cld/projs/Game/3rd/boost/tools/build/v2/build/virtual-target.jam:457:
in _adjust-name /home/cld/projs/Game/3rd/boost/tools/build/v2/build/virtual-target.jam:253:
in abstract-file-target.__init__ /home/cld/projs/Game/3rd/boost/tools/build/v2/build/virtual-target.jam:563:
in object(file-target)@911.__init__ /home/cld/projs/Game/3rd/boost/tools/build/v2/kernel/class.jam:88:
in class.new /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:565:
in generator.generated-targets /home/cld/projs/Game/3rd/boost/tools/build/v2/tools/builtin.jam:869:
in linking-generator.generated-targets /home/cld/projs/Game/3rd/boost/tools/build/v2/tools/unix.jam:67:
in generated-targets /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:462:
in construct-result /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:415:
in run-really /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:390:
in generator.run /home/cld/projs/Game/3rd/boost/tools/build/v2/tools/builtin.jam:784:
in linking-generator.run /home/cld/projs/Game/3rd/boost/tools/build/v2/tools/unix.jam:41:
in unix-linking-generator.run /home/cld/projs/Game/3rd/boost/tools/build/v2/tools/gcc.jam:685:
in object(gcc-linking-generator)@36.run /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:1004:
in try-one-generator-really /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:1066:
in try-one-generator /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:1282:
in construct-really /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:1366:
in generators.construct /home/cld/projs/Game/3rd/boost/tools/build/v2/tools/builtin.jam:477:
in object(lib-generator)@5.run /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:1004:
in try-one-generator-really /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:1066:
in try-one-generator /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:1282:
in construct-really /home/cld/projs/Game/3rd/boost/tools/build/v2/build/generators.jam:1366:
in generators.construct /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:1495:
in construct /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:1297:
in object(typed-target)@785.generate /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:732:
in generate-really /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:704:
in object(main-target)@887.generate /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:848:
in targets.generate-from-reference /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:1217:
in generate-dependencies /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:1268:
in object(alias-target-class)@195.generate /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:732:
in generate-really /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:704:
in object(main-target)@864.generate /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:848:
in targets.generate-from-reference /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:1217:
in generate-dependencies /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:1268:
in object(alias-target-class)@71.generate /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:732:
in generate-really /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:704:
in object(main-target)@91.generate /home/cld/projs/Game/3rd/boost/tools/build/v2/build/targets.jam:258:
in object(project-target)@68.generate /home/cld/projs/Game/3rd/boost/tools/build/v2/build-system.jam:736:
in load /home/cld/projs/Game/3rd/boost/tools/build/v2/kernel/modules.jam:283:
in import /home/cld/projs/Game/3rd/boost/tools/build/v2/kernel/bootstrap.jam:142:
in boost-build /home/cld/projs/Game/3rd/boost/boost-build.jam:17: in
module scope

This is run on a vanilla 1.49.0, bjam build with bootstrap.sh and BOOST_BUILD_PATH set to the 3rd/boost directory.

Any particular reason that threads are special?

Is this a bug or me misunderstanding something?

Best regards,

Claus Dræby


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