boostorg / boostorg/build

Android NDK clang on OSX

Open
#160 4 comments 0 reactions 0 assignees View on GitHub
transition
Dominant language
C++
Stars
251
Forks
63
PR merge metrics
No merged PRs in 30d

Description

build/src/tools/clang-darwin.jam does

actions piecemeal archive
{
"$(.AR)" $(AROPTIONS) rc "$(<)" "$(>)"
"ranlib" -cs "$(<)"
}

which ignores `` and `` from any .bjam config.

This is bad when trying to set up an Android cross compile using clang (and it's very disturbing when everything "just worked" for Android g++/NDK....)

Everything installs nicely, but with a minor warning

warning: ranlib: warning for library: /tmp/build/armeabi/boost/boost/bin.v2/libs/system/build/clang-darwin-android/release/link-static/target-os-android/threading-multi/libboost_system.a the table of contents is empty (no object file members in the library define global symbols)

and when you try to use the library with CMake/NDK it fails with

libboost_program_options.a: no archive symbol table (run ranlib)

It seems odd that the Android NDK bundles up everything as the same version (takes the same flags, makes the same output) across Windows/OSX/linux but the boost configuration options shard the handling across the host type.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.