Boost logo

Boost :

Subject: Re: [boost] [Boost-users] Need help with errors while building boost for clang on android NDK
From: Robert Dailey (rcdailey.lists_at_[hidden])
Date: 2016-10-04 15:53:20


On Wed, Sep 28, 2016 at 10:49 AM, Robert Dailey
<rcdailey.lists_at_[hidden]> wrote:
> On Mon, Sep 26, 2016 at 11:55 AM, Robert Dailey
> <rcdailey.lists_at_[hidden]> wrote:
>> On Mon, Sep 26, 2016 at 11:09 AM, Oliver Kowalke
>> <oliver.kowalke_at_[hidden]> wrote:
>>> 2016-09-26 17:57 GMT+02:00 Robert Dailey <rcdailey.lists_at_[hidden]>:
>>>>
>>>> >> > clang-linux.compile.asm
>>>> >> >
>>>> >> >
>>>> >> > bin.v2\libs\context\build\clang-linux-android\release\link-static\runtime-link-static\target-os-linux\threading-multi\asm\make_i386_ms_pe_gas.o
>>>> >> > libs\\context\\src\\asm\\make_i386_ms_pe_gas.asm:30:1: error: unknown
>>>> >> > directive
>>>> >> > .def _make_fcontext; .scl 2; .type 32; .endef
>>>> >
>>>> >
>>>> > you try to build for i386 instead arm
>>>>
>>>> How can I make it use arm instead?
>>>
>>>
>>> I assume you try to cross compile :
>>> http://www.boost.org/doc/libs/1_61_0/libs/context/doc/html/context/architectures/crosscompiling.html
>>
>> I am indeed trying to cross compile, however I am not familiar with b2
>> nor do I much care to learn it (since it's a means to an end for me to
>> build boost).
>>
>> Can you provide an example of how I can specify the documented
>> settings to b2 for my build? Do I provide the values to those in my
>> project-config file?
>
> Would really love help with this guys. I literally can't find info on
> this anywhere else. Surely someone has had success getting 1.61
> building with NDK + ARM + Clang.
>
> I made a best-guess using the context cross compiling settings linked
> earlier. Does this seem correct? It doesn't build at the moment saying
> it can't find locale-related symbols. That doesn't help me at all so I
> guess I'm going to have to dig into the llvm STL code and find out
> what preprocessor flags I'm missing (assuming it's that simple). Also
> I still don't know how to specify 'ar' and 'ranlib' executables to
> boost from NDK.
>
>
> using clang : android :
> $(androidNDKRoot)/toolchains/llvm/prebuilt/$(androidPlatform)/bin/clang++ :
> <compileflags>--sysroot=$(androidNDKRoot)/platforms/android-15/arch-arm
> <compileflags>-Os
> <compileflags>-fno-strict-aliasing
> <compileflags>-O2
> <compileflags>-DNDEBUG
> <compileflags>-g
> <compileflags>-I$(androidNDKRoot)/sources/cxx-stl/llvm-libc++abi/libcxxabi/include
> <compileflags>-I$(androidNDKRoot)/sources/cxx-stl/llvm-libc++/libcxx/include
> <compileflags>-I$(androidNDKRoot)/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a
> <compileflags>-I$(androidNDKRoot)/sources/android/support/include
> <compileflags>-DANDROID
> <compileflags>-D__ANDROID__
> <compileflags>-D__arm__
> <compileflags>-D_REENTRANT
> <architecture>arm
> <address-model>32
> <binary-format>pe
> <abi>aapcs
> ;

FYI: I still haven't gotten this working. Sorry to keep bumping this
thread but I have absolutely zero options yet. I need help from the
boost developers at this point, I think.


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