Opened 10 years ago
Closed 10 years ago
#6885 closed Support Requests (invalid)
Some QNX 6.5SDK builds broken with Boost 1.49 bjam?
| Reported by: | Owned by: | viboes | |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | thread |
| Version: | Boost 1.49.0 | Severity: | Not Applicable |
| Keywords: | Cc: |
Description (last modified by )
QNX qcc 4.4.2 shows as supported and tested on the boost.org website, but I have been having problems building all the projects on Windows (from .zip file) with QNX 6.5 SDK targeting x86. The first change that helped compile 11 projects was as follows:
''In file tools\build\v2\tools\qcc.jam, in the “actions piecemeal archive” block, replace the line: ar rc "$(<)" "$(>)" with the following: ntox86-ar rc "$(<)" "$(>)" ''
I assume there is a better "fix" for ar ... but I'm uncertain what needs to change.
With the following bjam I get success, and the remaining projects failure. Thread is used as an example, as it is trying to build win32 files.
bjam -q --prefix=%DRIVE%\boost --build-type=minimal --build-dir=%DRIVE%\boostBuild_%BOOSTVER% --layout=system toolset=qcc target-os=qnxnto --variant=release link=static threading=multi runtime-link=shared --without-graph --without-graph_parallel --without-locale --without-mpi --without-python --without-regex --without-serialization --without-test --without-thread --without-wave install @REM Single entry to fix broken builds (trying thread) bjam -q --prefix=%DRIVE%\boost --build-type=minimal --build-dir=%DRIVE%\boostBuild_%BOOSTVER% --layout=system toolset=qcc target-os=qnxnto --variant=release link=static threading=multi runtime-link=shared --with-thread install
I get results like the following (again, thread as an example). What am I doing wrong?
D:\boost_1_49_0>bjam -q --prefix=D:\boost --build-type=minimal --build-dir=D:\bo
ostBuild_1_49_0 --layout=system toolset=qcc target-os=qnxnto --variant=release l
ink=static threading=multi runtime-link=shared --with-thread install
Component configuration:
- chrono : not building
- date_time : not building
- exception : not building
- filesystem : not building
- graph : not building
- graph_parallel : not building
- iostreams : not building
- locale : not building
- math : not building
- mpi : not building
- program_options : not building
- python : not building
- random : not building
- regex : not building
- serialization : not building
- signals : not building
- system : not building
- test : not building
- thread : building
- timer : not building
- wave : not building
...patience...
...found 19291 targets...
...updating 13 targets...
common.mkdir D:\boostBuild_1_49_0\boost\bin.v2\libs\thread
common.mkdir D:\boostBuild_1_49_0\boost\bin.v2\libs\thread\build
common.mkdir D:\boostBuild_1_49_0\boost\bin.v2\libs\thread\build\qcc
common.mkdir D:\boostBuild_1_49_0\boost\bin.v2\libs\thread\build\qcc\release
common.mkdir D:\boostBuild_1_49_0\boost\bin.v2\libs\thread\build\qcc\release\lin
k-static
common.mkdir D:\boostBuild_1_49_0\boost\bin.v2\libs\thread\build\qcc\release\lin
k-static\target-os-qnxnto
common.mkdir D:\boostBuild_1_49_0\boost\bin.v2\libs\thread\build\qcc\release\lin
k-static\target-os-qnxnto\threading-multi
common.mkdir D:\boostBuild_1_49_0\boost\bin.v2\libs\thread\build\qcc\release\lin
k-static\target-os-qnxnto\threading-multi\win32
qcc.compile.c++ D:\boostBuild_1_49_0\boost\bin.v2\libs\thread\build\qcc\release\
link-static\target-os-qnxnto\threading-multi\win32\thread.o
libs\thread\src\win32\thread.cpp:22:21: error: windows.h: No such file or direct
ory
libs\thread\src\win32\thread.cpp:30: error: 'DWORD' does not name a type
libs\thread\src\win32\thread.cpp: In function 'void boost::<unnamed>::create_cur
rent_thread_tls_key()':
libs\thread\src\win32\thread.cpp:34: error: 'tss_cleanup_implemented' was not de
clared in this scope
libs\thread\src\win32\thread.cpp:35: error: 'current_thread_tls_key' was not dec
lared in this scope
libs\thread\src\win32\thread.cpp:35: error: 'TlsAlloc' was not declared in this
scope
libs\thread\src\win32\thread.cpp: In function 'void boost::<unnamed>::cleanup_tl
s_key()':
libs\thread\src\win32\thread.cpp:46: error: 'current_thread_tls_key' was not dec
lared in this scope
libs\thread\src\win32\thread.cpp:48: error: 'TlsFree' was not declared in this s
cope
libs\thread\src\win32\thread.cpp: In function 'boost::detail::thread_data_base*
boost::<unnamed>::get_current_thread_data()':
libs\thread\src\win32\thread.cpp:55: error: 'current_thread_tls_key' was not dec
lared in this scope
libs\thread\src\win32\thread.cpp:59: error: 'current_thread_tls_key' was not dec
lared in this scope
libs\thread\src\win32\thread.cpp:59: error: 'TlsGetValue' was not declared in th
is scope
libs\thread\src\win32\thread.cpp: In function 'void boost::<unnamed>::set_curren
t_thread_data(boost::detail::thread_data_base*)':
libs\thread\src\win32\thread.cpp:65: error: 'current_thread_tls_key' was not dec
lared in this scope
libs\thread\src\win32\thread.cpp:66: error: 'TlsSetValue' was not declared in th
is scope
libs\thread\src\win32\thread.cpp: At global scope:
libs\thread\src\win32\thread.cpp:76: error: expected ')' before '*' token
libs\thread\src\win32\thread.cpp:77: error: 'func' does not name a type
libs\thread\src\win32\thread.cpp:79: error: expected ')' before 'start_address'
libs\thread\src\win32\thread.cpp:82: error: 'DWORD' does not name a type
libs\thread\src\win32\thread.cpp:91: error: expected ')' before '*' token
libs\thread\src\win32\thread.cpp:91: error: expected ')' before '*' token
libs\thread\src\win32\thread.cpp:91: error: expected initializer before '*' toke
n
libs\thread\src\win32\thread.cpp:631: error: expected '}' at end of input
libs\thread\src\win32\thread.cpp:631: error: expected '}' at end of input
cc: d:/qnxsdk/qnxsdk6.5-001/host/win32/x86/usr/lib/gcc/i486-pc-nto-qnx6.5.0/4.4.
2/cc1plus caught signal 1
"QCC" -Wc,-ftemplate-depth-128 -O3 -Wc,-finline-functions -Wc,-Wno-inline -D
BOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_LIB=1 -DNDEBUG -I"." -c -o "D:\boostBuil
d_1_49_0\boost\bin.v2\libs\thread\build\qcc\release\link-static\target-os-qnxnto
\threading-multi\win32\thread.o" "libs\thread\src\win32\thread.cpp"
...failed qcc.compile.c++ D:\boostBuild_1_49_0\boost\bin.v2\libs\thread\build\qc
c\release\link-static\target-os-qnxnto\threading-multi\win32\thread.o...
...failed updating 1 target...
...updated 8 targets...
D:\boost_1_49_0>
Change History (5)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
| Severity: | Problem → Not Applicable |
|---|---|
| Type: | Bugs → Support Requests |
comment:3 by , 10 years ago
| Description: | modified (diff) |
|---|
comment:4 by , 10 years ago
| Component: | Building Boost → thread |
|---|---|
| Owner: | set to |
| Status: | new → assigned |
Boost.Thread uses win32 api on windows by default. The way you are using now seems to me the correct one.
bjam target-os=qnxnto threadapi=pthread
Could we close the ticket?
comment:5 by , 10 years ago
| Resolution: | → invalid |
|---|---|
| Status: | assigned → closed |

I was able to address this build issue with the following bjam. If anyone has discovered a better configuration please let me know.
SET DRIVE=D: SET BOOSTVER=1_49_0
bjam -a -q -j4 --prefix=%DRIVE%\boost --build-type=minimal --build-dir=%DRIVE%\boostBuild_%BOOSTVER% --layout=system toolset=qcc target-os=qnxnto threadapi=pthread --
variant=release link=static threading=multi runtime-link=shared --without-python --without-mpi install >build.log 2>&1