Android compilation failed
Summary
compiling on Android Studio fails. Creating a simple native c++ project on android studio, cloning the repo under cpp folder, and adding add_subdirectory(eigen) to the main CMakelists.txt file.
Environment
- Operating System : Android
- Architecture : arm
- Eigen Version : current master
- Compiler Version : clang 14
- Compile Flags : see error message
- Vector Extension : unknown
Minimal Example
as per Summary. Can't be more minimal than that.
What is the current bug behavior?
Compilation fails.
What is the expected correct behavior?
Compilation succeeds.
Relevant logs
Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'.
> com.android.ide.common.process.ProcessException: ninja: Entering directory `/Users/bloom/sw_develop/BloomEngineering/AndroidLibraries/Eigen3/app/.cxx/Debug/725k4l40/arm64-v8a'
[1/740] Building CXX object eigen/doc/examples/CMakeFiles/DenseBase_middleCols_int.dir/DenseBase_middleCols_int.cpp.o
[2/740] Building CXX object eigen/doc/examples/CMakeFiles/DenseBase_middleRows_int.dir/DenseBase_middleRows_int.cpp.o
[3/740] Building CXX object eigen/doc/examples/CMakeFiles/DenseBase_template_int_middleRows.dir/DenseBase_template_int_middleRows.cpp.o
[4/740] Building CXX object eigen/doc/examples/CMakeFiles/DenseBase_template_int_middleCols.dir/DenseBase_template_int_middleCols.cpp.o
[5/740] Building CXX object eigen/doc/examples/CMakeFiles/QuickStart_example.dir/QuickStart_example.cpp.o
[6/740] Building CXX object eigen/doc/examples/CMakeFiles/TemplateKeyword_simple.dir/TemplateKeyword_simple.cpp.o
[7/740] Linking CXX executable /Users/bloom/sw_develop/BloomEngineering/AndroidLibraries/Eigen3/app/build/intermediates/cxx/Debug/725k4l40/obj/arm64-v8a/QuickStart_example
FAILED: /Users/bloom/sw_develop/BloomEngineering/AndroidLibraries/Eigen3/app/build/intermediates/cxx/Debug/725k4l40/obj/arm64-v8a/QuickStart_example
: && /Users/bloom/Library/Android/sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android27 --sysroot=/Users/bloom/Library/Android/sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -std=c++17 -pedantic -Wall -Wextra -Wundef -Wcast-align -Wchar-subscripts -Wnon-virtual-dtor -Wunused-local-typedefs -Wpointer-arith -Wwrite-strings -Wformat-security -Wshorten-64-to-32 -Wenum-conversion -Wc++11-extensions -Wdouble-promotion -Wshadow -Wno-psabi -Wno-variadic-macros -Wno-long-long -fno-check-new -fno-common -fstrict-aliasing -fPIE -fno-limit-debug-info -static-libstdc++ -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--fatal-warnings -Wl,--gc-sections -Wl,--no-undefined -Qunused-arguments -Wl,--gc-sections eigen/doc/examples/CMakeFiles/QuickStart_example.dir/QuickStart_example.cpp.o -o /Users/bloom/sw_develop/BloomEngineering/AndroidLibraries/Eigen3/app/build/intermediates/cxx/Debug/725k4l40/obj/arm64-v8a/QuickStart_example -latomic -lm && cd /Users/bloom/sw_develop/BloomEngineering/AndroidLibraries/Eigen3/app/.cxx/Debug/725k4l40/arm64-v8a/eigen/doc/examples && QuickStart_example >/Users/bloom/sw_develop/BloomEngineering/AndroidLibraries/Eigen3/app/.cxx/Debug/725k4l40/arm64-v8a/eigen/doc/examples/QuickStart_example.out
/bin/sh: QuickStart_example: command not found
all the other errors are similar.
Anything else that might help
it seems to me that && QuickStart_example >/Users/bloom/sw_develop/BloomEngineering/AndroidLibraries/Eigen3/app/.cxx/Debug/725k4l40/arm64-v8a/eigen/doc/examples/QuickStart_example.out
misses something just after the &&. Maybe a variable that must have been a command and instead is empty (command not present in the environment)?
I know I can use just the source code, but I'd like to compile so to generate the Eigen3config.cmake so other projects using the lib could find it with find_package.
-
Have a plan to fix this issue.