Boost logo

Boost-Build :

From: Florian Adolf (robotik_at_[hidden])
Date: 2008-04-04 13:45:49


apparently the boost library does not compile with the QNX 6.3.0 cross
compiler (toolset=qcc) under Win32, in particular the Thread library.

By simple full text search I came across this section in
libs\thread\build\Jamfile.v2, line 49-50

local rule default_threadapi ( )
     local api = pthread ;
     if [ ] = "NT" { api = win32 ; }
     return $(api) ;

I suspect when corss compiling under win32 for QNX, it doesn't use qcc's
inbuilt pthread support. The error messages show pointers to lines in


although it should compile


Some hack in the above jam file section (e.g. commenting the if
statement) yielded errors:

Trying to build Boost.Thread with pthread support.
If you need pthread you should specify the paths.
You can specify them in site-config.jam, user-config.jam
or in the environment.
For example:
PTW32_INCLUDE=C:\Program Files\ptw32\Pre-built2\include
PTW32_LIB=C:\Program Files\ptw32\Pre-built2\lib
Skipping build of: libs/thread/build/boost_thread <build>no in common
in _adjust-name from module object(file-target)@1145
error: <tag>@rulename is present but is not the only <tag> feature
in abstract-file-target.__init__ from module object(file-target)@1145
in object(file-target)@1145.__init__ from module object(file-target)@1145

I tried to work around that problem by building the thread library with
a different build tool where I know how to change include paths etc. It
compiles perfectly and the Thread library examples have no runtime problems.

I do not have a sound understanding of how to adapt boost build's jam
files (yet). So what do I have to change where to disable the wrong
compilation/include of win32 thread api or win32 pthread resp.?

Thanks for pointers/solutions


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at