moritz-wundke / Boost-for-Android

Android port of Boost C++ Libraries
MIT License
1.01k stars 483 forks source link

jam error with building boost 1.69.0 with NDK 18.1 #156

Open o01eg opened 5 years ago

o01eg commented 5 years ago
$ CFLAGS="" CXXFLAGS="" LDFLAGS="" ./build-android.sh /mnt/new/o01eg/android/ndk-bundle/ --boost=1.69.0
To follow build in another terminal, please use: tail -F /tmp/Boost-for-Android/logs/myst-log-21840.log
Building boost version: 1.69.0
Cleaning: boost_1_69_0
Cleaning: ./build/
Detected Android NDK version 18.1
Building with TOOLSET=clang CXXPATH=/mnt/new/o01eg/android/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ CFLAGS= CXXFLAGS=
Unpacking boost
Performing boost bootstrap
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.7
Detecting Python root... /usr/lib/python-exec/python2.7/../../..
Unicode/ICU support for Boost.Regex?... /usr
Generating Boost.Build configuration in project-config.jam...

Bootstrapping is done. To build, run:

    ./b2

To adjust configuration, edit 'project-config.jam'.
Further information:

   - Command line help:
     ./b2 --help

   - Getting started guide: 
     http://www.boost.org/more/getting_started/unix-variants.html

   - Boost.Build documentation:
     http://www.boost.org/build/doc/html/index.html

patching file boost/asio/detail/config.hpp
patching file boost/config/user.hpp
patching file boost/system/error_code.hpp
patching file libs/filesystem/src/operations.cpp
# ---------------
# Build using NDK
# ---------------
Building boost for android for arm64-v8a
Adding pathname: /mnt/new/o01eg/android/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/user-config.jam:70: Unescaped special character in argument <compileflags>$(AndroidNDKRoot)/toolchains/aarch64-linux-android-4.9/prebuilt/${PlatformOS}-x86_64
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/user-config.jam:107: Unescaped special character in argument <compileflags>$(AndroidNDKRoot)/toolchains/arm-linux-androideabi-4.9/prebuilt/${PlatformOS}-x86_64
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/user-config.jam:149: Unescaped special character in argument <compileflags>$(AndroidNDKRoot)/toolchains/arm-linux-androideabi-4.9/prebuilt/${PlatformOS}-x86_64
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/user-config.jam:191: Unescaped special character in argument <compileflags>$(AndroidNDKRoot)/toolchains/mips64el-linux-android-4.9/prebuilt/${PlatformOS}-x86_64
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/user-config.jam:229: Unescaped special character in argument <compileflags>$(AndroidNDKRoot)/toolchains/mips64el-linux-android-4.9/prebuilt/${PlatformOS}-x86_64
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/user-config.jam:267: Unescaped special character in argument <compileflags>$(AndroidNDKRoot)/toolchains/x86_64-4.9/prebuilt/${PlatformOS}-x86_64
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/user-config.jam:304: Unescaped special character in argument <compileflags>$(AndroidNDKRoot)/toolchains/x86-4.9/prebuilt/${PlatformOS}-x86_64
Performing configuration checks

    - default address-model    : 64-bit
    - default architecture     : arm
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/tools/common.jam:979: in toolset-tag
*** argument error
* rule numbers.less ( n1 n2 )
* called with: ( 3 )
* missing argument n2
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/util/numbers.jam:66:see definition of rule 'numbers.less' being called
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/tools/common.jam:850: in common.format-name
/tmp/Boost-for-Android/boost_1_69_0/boostcpp.jam:188: in boostcpp.tag
Jamroot:191: in Jamfile</tmp/Boost-for-Android/boost_1_69_0>.tag
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/kernel/modules.jam:107: in modules.call-in
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/util/indirect.jam:105: in indirect.call
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/virtual-target.jam:476: in _adjust-name
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/virtual-target.jam:274: in abstract-file-target.__init__
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/virtual-target.jam:582: in class@file-target.__init__
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/kernel/class.jam:90: in class.new
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:576: in generated-targets
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:474: in construct-result
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:418: in run-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:392: in generator.run
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/tools/generators/archive-generator.jam:32: in archive-generator.run
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/tools/unix.jam:87: in class@unix-archive-generator.run
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:1019: in try-one-generator-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:1081: in try-one-generator
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:1319: in construct-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:1405: in generators.construct
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/tools/generators/lib-generator.jam:59: in class@lib-generator.run
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:1019: in try-one-generator-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:1081: in try-one-generator
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:1319: in construct-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/generators.jam:1405: in generators.construct
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1614: in construct
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1363: in class@basic-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:812: in generate-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:784: in class@main-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:273: in class@project-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:933: in targets.generate-from-reference
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1276: in generate-dependencies
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1333: in class@basic-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:812: in generate-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:784: in class@main-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:933: in targets.generate-from-reference
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1276: in generate-dependencies
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1333: in class@basic-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:812: in generate-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:784: in class@main-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:933: in targets.generate-from-reference
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1276: in generate-dependencies
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1333: in class@basic-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:812: in generate-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:784: in class@main-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:933: in targets.generate-from-reference
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1276: in generate-dependencies
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1333: in class@basic-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:812: in generate-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:784: in class@main-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:933: in targets.generate-from-reference
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1276: in generate-dependencies
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1333: in class@basic-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:812: in generate-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:784: in class@main-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:933: in targets.generate-from-reference
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1276: in generate-dependencies
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:1333: in alias-target-class.generate
/tmp/Boost-for-Android/boost_1_69_0/boostcpp.jam:480: in build-multiple
/tmp/Boost-for-Android/boost_1_69_0/boostcpp.jam:470: in class@top-level-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:812: in generate-really
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build/targets.jam:784: in class@main-target.generate
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/build-system.jam:797: in load
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/kernel/modules.jam:295: in import
/tmp/Boost-for-Android/boost_1_69_0/tools/build/src/kernel/bootstrap.jam:139: in boost-build
/tmp/Boost-for-Android/boost_1_69_0/boost-build.jam:17: in module scope
ERROR: Failed to build boost for android for arm64-v8a!
...

And same for other architectures. Boost versions 1.68, 1.67, 1.65.1 don't affected.

OS: Gentoo Linux AMD64 Android NDK: 18.1 bundled with Android Studio

awalsh-passport commented 5 years ago

I get very similar error messages for armeabi under Ubuntu 16.04 (where 1.68.0 with NDK18.1 appears to succeed).

machinekoder commented 5 years ago

same here with Ubuntu 18.04

javiersastre commented 5 years ago

I get the same error in Ubuntu 18.04 when trying to compile the latest Boost version (1.69.0). It works with the previous Boost version, you may use the following command:

build-android.sh --boost=1.68.0 $NDK_ROOT