Boost logo

Boost :

From: Andreas Haberstroh (andreas_at_[hidden])
Date: 2008-04-24 00:37:00


Hey folks,

I know there is an ongoing thread about build failure with Windows XP
and cygwin, but I believe the problem goes beyond that platform.

I'm building on several different platforms and have run into a similar
problem with the <threadapi> parameter.

I build on FreeBSD 6.2, Ubuntu 7 (Intel), Ubuntu 6 (PPC) and lastly, Win32.
I have NOT tested this out on a win32 platform yet.

Using FreeBSD with gcc 3.4.2 and Linux with gcc 4.2 you can reproduce
the problem very quickly from the current trunk.

In your boost directory, simply enter the following:
*bjam --with-wave*.

You'll have something like the following:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
error: No best alternative for libs/thread/build/thread_sources
    next alternative: required properties: <threadapi>win32 <threading>multi
        not matched
    next alternative: required properties: <threadapi>pthread
<threading>multi
        not matched
/root/boost/tools/build/v2/build/generators.jam:859: in
try-one-generator-really
*** argument error
* rule object(gcc-linking-generator)@33.run ( project name ? :
property-set : sources + )
* called with: ( object(project-target)@388 boost_thread :
object(property-set)@411 : )
* missing argument sources
/root/boost/tools/build/v2/tools/gcc.jam:405:see definition of rule
'run' being called
/root/boost/tools/build/v2/build/generators.jam:920: in try-one-generator
/root/boost/tools/build/v2/build/generators.jam:1131: in construct-really
/root/boost/tools/build/v2/build/generators.jam:1204: in
generators.construct
/root/boost/tools/build/v2/tools/builtin.jam:502: in
object(lib-generator)@5.run
/root/boost/tools/build/v2/build/generators.jam:859: in
try-one-generator-really
/root/boost/tools/build/v2/build/generators.jam:920: in try-one-generator
/root/boost/tools/build/v2/build/generators.jam:1131: in construct-really
/root/boost/tools/build/v2/build/generators.jam:1204: in
generators.construct
/root/boost/tools/build/v2/build/targets.jam:1368: in construct
/root/boost/tools/build/v2/build/targets.jam:1206: in
object(typed-target)@404.generate
/root/boost/tools/build/v2/build/targets.jam:742: in generate-really
/root/boost/tools/build/v2/build/targets.jam:715: in
object(main-target)@406.generate
/root/boost/tools/build/v2/build/targets.jam:858: in
targets.generate-from-reference
/root/boost/tools/build/v2/build/targets.jam:1129: in generate-dependencies
/root/boost/tools/build/v2/build/targets.jam:1179: in
object(typed-target)@134.generate
/root/boost/tools/build/v2/build/targets.jam:742: in generate-really
/root/boost/tools/build/v2/build/targets.jam:715: in
object(main-target)@206.generate
/root/boost/tools/build/v2/build/targets.jam:254: in
object(project-target)@130.generate
/root/boost/tools/build/v2/build/targets.jam:858: in
targets.generate-from-reference
/root/boost/tools/build/v2/build/targets.jam:1129: in generate-dependencies
/root/boost/tools/build/v2/build/targets.jam:1179: in
object(alias-target-class)@128.generate
/root/boost/tools/build/v2/build/targets.jam:742: in generate-really
/root/boost/tools/build/v2/build/targets.jam:715: in
object(main-target)@196.generate
/root/boost/tools/build/v2/build/targets.jam:254: in
object(project-target)@84.generate
/root/boost/tools/build/v2/build-system.jam:663: in load
/root/boost/tools/build/v2/kernel/modules.jam:267: in import
/root/boost/tools/build/v2/kernel/bootstrap.jam:134: in boost-build
/root/boost/boost-build.jam:11: in module scope
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Using the suggestions from the mail list thread titled: /[boost]
[1.35.0] Threads - build failure using gcc on Win XP,/ I tried the
following:

*bjam --with-wave threadapi=pthread
*
You will then have something as follows:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/boost/tools/build/v2/build/property.jam:285: in validate1 from
module property
error: Invalid property '<threadapi>pthread': unknown feature 'threadapi'.
/root/boost/tools/build/v2/build/property.jam:294: in property.validate
from module property
/root/boost/tools/build/v2/build/build-request.jam:193: in
convert-command-line-element from module build-request
/root/boost/tools/build/v2/build/build-request.jam:148: in
build-request.from-command-line from module build-request
/root/boost/tools/build/v2/build-system.jam:559: in load from module
build-system
/root/boost/tools/build/v2/kernel/modules.jam:267: in import from module
modules
/root/boost/tools/build/v2/kernel/bootstrap.jam:134: in boost-build from
module
/root/boost/boost-build.jam:11: in module scope from module
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Most of my projects are multi-threaded in nature, and thus can not use
the Boost 1.35.0 release since this problem doesn't allow me to build.

Interesting enough, the Boost.Thread examples do build without a problem.

I'm not a bjam Jamfile expert, so I don't even know where to begin
trying to fix the Boost.Thread Jamfile.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk