Subject: Re: [Boost-build] Thread Library for XilKernel on PowerPC
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2013-01-30 12:47:03
Humm, it seems I missed the date of this post :(
Le 30/01/13 18:45, Vicente J. Botet Escriba a écrit :
> Le 05/08/11 02:00, Randall Plate a écrit :
>> I am trying to build the Boost Thread library for use on a PowerPC on
>> a Xilinx ML510 development board that is running XilKernel. As Boost
>> does not explicitly support this operating system, I am
>> cross-compiling using the target-os=elf option since the Xilinx SDK
>> compiler produces .elf files for the PowerPC. This works fine for
>> other Boost libraries (e.g regex), but not for thread.
>> First problem is that BOOST_DISABLE_THREADS is defined in
>> libstdcpp3.hpp due to __GLIBCXX__ being defined, but neither
>> _GLIBCXX_HAVE_GTHR_DEFAULT nor _GLIBCXX__PTHREADS being defined. This
>> of course causes the "Threading support unavailable: it has been
>> explicitly disabled with BOOST_DISABLE_THREADS" error from
> Does your platform provide PThread interface? If yes, which macro
> could be used to check for?
>> Second problem is that it is trying to write the library files to a
>> win32 directory
>> which doesn't seem correct since I am building for a non-windows
>> platform. It also reports errors such as "windows.h: no such file or
>> directory". The regex library that I successfully built was written
>> to the "..\threading-multi\" directory, not win32.
> This seems to be as the threadapi was not set to pthread.
>> I am calling bjam as follows:
>> bjam -d+2 toolset=gcc-ppc target-os=elf
>> link=static --layout=system --with-thread
>> I have modified the user-config.jam file as follows:
>> using gcc : ppc :
>> C:/Xilinx/ISE_DS/EDK/gnu/powerpc-eabi/nt64/bin/powerpc-eabi-gcc : ^
>> More? toolset.add-requirements <toolset>gcc-ppc:<target-os>elf
>> <toolset>gcc-ppc:<threadapi>pthread ^
>> More? <compileflags>-D_POSIX_SOURCE -Wall -g3 -c -fmessage-length=0
>> -D __XMK__ ^
>> More? -IC:/Xilinx/ISE_DS/EDK/gnu/powerpc-eabi/nt64/include/c++/4.1.1 ^
>> -IC:/Xilinx/ISE_DS/EDK/gnu/powerpc-eabi/nt64/powerpc-eabi/include ^
>> More? -mcpu=440 ^
>> More? <linkflags>-Wl,-T -Wl,../src/lscript.ld
>> -mcpu=440 ;
>> Any suggestions on why this is not working?
> I see that you have set the <threadapi>pthread but I don't know if the
> bjam syntax is correct here
> toolset.add-requirements <toolset>gcc-ppc:<target-os>elf
> What is toolset.add-requirements?
> Have you tried just with
> <target-os>elf <threadapi>pthread
> or remove this line and try on the CLI with
> bjam -d+2 toolset=gcc-ppc target-os=elf threadapi=pthread
> link=static --layout=system --with-thread
> Please, could you provide the result of the build when -d +2, in
> particular the calls to the compiler and the linker if the preceding
> doesn't works?
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