Cross-compiling boost 1.69.0 for ARM
Asked Answered
P

1

6

Trying to cross-compile boost 1.69.0 in WSL Debian I run bootstrap.sh without icu or python support. After adding

using gcc : arm : arm-linux-gnueabihf-g++ ;

to project-config.jam I get the following error when running ./b2 install

Performing configuration checks

- default address-model    : 32-bit
- default architecture     : arm
error: No best alternative for libs/context/build/asm_sources
next alternative: required properties: <abi>aapcs <address-model>32 <architecture>arm <binary-format>elf <threading>multi <toolset>clang
    not matched

It goes on for several lines.

  1. What is going wrong there?
  2. Since I can't build directly on the target-system because it doesn't have enough hdd, what would you suggest doing about this error?
  3. Is there somewhere a pre-compiled libboost 1.69 I don't know about?
Pasho answered 13/12, 2018 at 20:43 Comment(0)
P
3

I guess I found the problem:

When I tried building boost, I tried to build all of it. I played around with it for some time and came to the following paramaters for invoking b2:

./b2 --prefix=~/boostForBBB/ \
    --without-context \
    --without-coroutine \
    --without-fiber \
    --without-python \
    --address-model=32 \
    --stagedir=~/boostForBBBstage-arm-gnueabihf-g++/ \
    -j3 \ #here you should obviously write how many cores you want to build on
    -toolset=arm-linux-gnueabihf-g++ \
    -threading=multi \

This fixed it for me. I'd be happy to hear why though.

Pasho answered 10/1, 2019 at 8:2 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.