As reported on Gitter by @luigytkd, Magnum is unable to build under Android NDK r19 due to erros like
In file included from /home/lrib/Workspaces/AndroidStudioProjects/magnum/magnum/src/Magnum/Math/Vector.h:32:
/home/lrib/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/c++/v1/cmath:317:9: error: no member named 'isinf' in the global namespace
using ::isinf;
Googling the above doesn't really show anything obvious. NDK r16 is known to work (it's run on Travis CI), NDK r17 (running locally on Arch) works as well. Didn't test with r18 as there's no AUR package. However, when trying to reproduce with r19, I get this during the initial CMake run:
/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android --gcc-toolchain=/opt/android-ndk/toolchains//prebuilt/linux-x86_64 --sysroot=/opt/android-ndk/platforms/android-22/arch-arm64 -funwind-tables -no-canonical-prefixes -D__ANDROID_API__=22 -fexceptions -frtti -g -fPIE -pie -Wl,--gc-sections CMakeFiles/cmTC_60666.dir/testCXXCompiler.cxx.o -o cmTC_60666 "/opt/android-ndk/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a" "/opt/android-ndk/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a" -latomic -nostdlib++ && :
/..//bin/ld: unrecognised emulation mode: aarch64linux
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pep i386pe
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Questions on SO (from end of January) are without answers. Possibly related solution is here, but AFAIK there's no way to force the toolchain path to CMake.
Desperately looking into the CMake bug tracker, I found these two very concerning issues:
Current solution is to go back before r19. r17 (and r16) is known to work well, r18 might work too.
As reported on Gitter by @luigytkd, Magnum is unable to build under Android NDK r19 due to erros like
Googling the above doesn't really show anything obvious. NDK r16 is known to work (it's run on Travis CI), NDK r17 (running locally on Arch) works as well. Didn't test with r18 as there's no AUR package. However, when trying to reproduce with r19, I get this during the initial CMake run:
Questions on SO (from end of January) are without answers. Possibly related solution is here, but AFAIK there's no way to force the toolchain path to CMake.
Desperately looking into the CMake bug tracker, I found these two very concerning issues:
Current solution is to go back before r19. r17 (and r16) is known to work well, r18 might work too.