Hi,
after being able to successfully build from source in the past, I’ve been trying recently without success.
Have all the kids for Android setup and confirmed within Qt, but it keeps failing simple test compile, no matter what I try.
There seems to be an additional build step required which is nowhere described and as building from source was done differently in older versions of QGC, can’t follow those older build instructions either.
Tried different version Qt, after initially recommended version failed, tried different NDK versions,…
Has any non professional developer had success building an Android version since QGC 5.0.0. was introduced?
…If so, any help would be appreciated.
Just within the last two days I’ve got the Android build working on a Windows11 machine.
Yet on Ubuntu 24.04 it will not work no matter what.
Keep getting “The C compiler is not able to compile a simple test program.” Also mentions “segmentation fault” in Qt. - Yet Linux builds are working fine.
Also unable to do a sample build using supplied excamples as QGC requires Qt 6.8.3 yet the samples appear to require later versions of Qt.
Got plenty of memory available, added all the additional libraries required on Ubuntu,…At least based on all info I could find on setting up Qt for Android builds on Ubuntu.
I guess now that I got it working on Windows11, I will have to go through the tedious task of comparing settings on both machines step by step.
Also not helpful:
The link regarding detailed configuration for Android - in the docs- doesn’t work.
So, after re-installing JDK17, also command line tools and comparing the kits with the working setup on a Windows11 machine, I’m still no closer to solving this.
Here is the fault:
[cmake] Running /home/karl/Qt/Tools/CMake/bin/cmake -S /home/karl/Qt/qgroundcontrol -B /home/karl/Qt/qgroundcontrol/build/Android_Qt_6_8_3_android_arm64_v8a_Clang_arm64_v8a-Debug -DCMAKE_TOOLCHAIN_FILE:FILEPATH=/home/karl/Android/Sdk/ndk/25.1.8937393/build/cmake/android.toolchain.cmake -DANDROID_NDK:PATH=/home/karl/Android/Sdk/ndk/25.1.8937393 -DQT_MAINTENANCE_TOOL:FILEPATH=/home/karl/Qt/MaintenanceTool -DCMAKE_CXX_COMPILER:FILEPATH=/home/karl/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -DCMAKE_GENERATOR:STRING=Ninja -DQT_USE_TARGET_ANDROID_BUILD_DIR:BOOL=ON -DQT_NO_GLOBAL_APK_TARGET_PART_OF_ALL:BOOL=ON -DQT_QMAKE_EXECUTABLE:FILEPATH=/home/karl/Qt/6.8.3/android_arm64_v8a/bin/qmake -DCMAKE_PREFIX_PATH:PATH=/home/karl/Qt/6.8.3/android_arm64_v8a -DQT_HOST_PATH:PATH=/home/karl/Qt/6.8.3/gcc_64 -DANDROID_PLATFORM:STRING=android-23 -DCMAKE_BUILD_TYPE:STRING=Debug -DANDROID_SDK_ROOT:PATH=/home/karl/Android/Sdk -DANDROID_STL:STRING=c++_shared -DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=/home/karl/Qt/qgroundcontrol/build/Android_Qt_6_8_3_android_arm64_v8a_Clang_arm64_v8a-Debug/.qtc/package-manager/auto-setup.cmake -DCMAKE_FIND_ROOT_PATH:PATH=/home/karl/Qt/6.8.3/android_arm64_v8a -DCMAKE_COLOR_DIAGNOSTICS:BOOL=ON -DANDROID_USE_LEGACY_TOOLCHAIN_FILE:BOOL=OFF -DCMAKE_C_COMPILER:FILEPATH=/home/karl/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -DCMAKE_CXX_FLAGS_INIT:STRING=-DQT_QML_DEBUG -DANDROID_ABI:STRING=arm64-v8a in /home/karl/Qt/qgroundcontrol/build/Android_Qt_6_8_3_android_arm64_v8a_Clang_arm64_v8a-Debug.
[cmake] – Found Git: /usr/bin/git (found version “2.43.0”)
[cmake] – QGC: Using ccache /usr/bin/ccache
[cmake] – Android: Targeting API ‘23’ with architecture ‘arm64’, ABI ‘arm64-v8a’, and processor ‘aarch64’
[cmake] – Android: Selected unified Clang toolchain
[cmake] – The C compiler identification is unknown
[cmake] – The CXX compiler identification is unknown
[cmake] – Detecting C compiler ABI info
[cmake] – Detecting C compiler ABI info - failed
[cmake] – Check for working C compiler: /home/karl/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/clang
[cmake] – Check for working C compiler: /home/karl/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - broken
[cmake] CMake Error at /home/karl/Qt/Tools/CMake/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:67 (message):
[cmake] The C compiler
[cmake]
[cmake] “/home/karl/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/clang”
[cmake]
[cmake] is not able to compile a simple test program.
[cmake]
[cmake] It fails with the following output:
[cmake]
[cmake] Change Dir: ‘/home/karl/Qt/qgroundcontrol/build/Android_Qt_6_8_3_android_arm64_v8a_Clang_arm64_v8a-Debug/CMakeFiles/CMakeScratch/TryCompile-TUE6nM’
[cmake]
[cmake] Run Build Command(s): /usr/bin/ninja -v cmTC_869f9
[cmake] [1/2] /home/karl/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -o CMakeFiles/cmTC_869f9.dir/testCCompiler.c.o -c /home/karl/Qt/qgroundcontrol/build/Android_Qt_6_8_3_android_arm64_v8a_Clang_arm64_v8a-Debug/CMakeFiles/CMakeScratch/TryCompile-TUE6nM/testCCompiler.c
[cmake] FAILED: CMakeFiles/cmTC_869f9.dir/testCCompiler.c.o
[cmake] /home/karl/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -o CMakeFiles/cmTC_869f9.dir/testCCompiler.c.o -c /home/karl/Qt/qgroundcontrol/build/Android_Qt_6_8_3_android_arm64_v8a_Clang_arm64_v8a-Debug/CMakeFiles/CMakeScratch/TryCompile-TUE6nM/testCCompiler.c
[cmake] Segmentation fault (core dumped)
[cmake] ninja: build stopped: subcommand failed.
[cmake]
[cmake]
[cmake]
[cmake]
[cmake]
[cmake] CMake will not be able to correctly generate this project.
[cmake] Call Stack (most recent call first):
[cmake] CMakeLists.txt:52 (project)
[cmake]
[cmake]
[cmake] – Configuring incomplete, errors occurred!
[cmake]
[cmake] The command “/home/karl/Qt/Tools/CMake/bin/cmake -S /home/karl/Qt/qgroundcontrol -B /home/karl/Qt/qgroundcontrol/build/Android_Qt_6_8_3_android_arm64_v8a_Clang_arm64_v8a-Debug -DCMAKE_TOOLCHAIN_FILE:FILEPATH=/home/karl/Android/Sdk/ndk/25.1.8937393/build/cmake/android.toolchain.cmake -DANDROID_NDK:PATH=/home/karl/Android/Sdk/ndk/25.1.8937393 -DQT_MAINTENANCE_TOOL:FILEPATH=/home/karl/Qt/MaintenanceTool -DCMAKE_CXX_COMPILER:FILEPATH=/home/karl/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -DCMAKE_GENERATOR:STRING=Ninja -DQT_USE_TARGET_ANDROID_BUILD_DIR:BOOL=ON -DQT_NO_GLOBAL_APK_TARGET_PART_OF_ALL:BOOL=ON -DQT_QMAKE_EXECUTABLE:FILEPATH=/home/karl/Qt/6.8.3/android_arm64_v8a/bin/qmake -DCMAKE_PREFIX_PATH:PATH=/home/karl/Qt/6.8.3/android_arm64_v8a -DQT_HOST_PATH:PATH=/home/karl/Qt/6.8.3/gcc_64 -DANDROID_PLATFORM:STRING=android-23 -DCMAKE_BUILD_TYPE:STRING=Debug -DANDROID_SDK_ROOT:PATH=/home/karl/Android/Sdk -DANDROID_STL:STRING=c++_shared -DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=/home/karl/Qt/qgroundcontrol/build/Android_Qt_6_8_3_android_arm64_v8a_Clang_arm64_v8a-Debug/.qtc/package-manager/auto-setup.cmake -DCMAKE_FIND_ROOT_PATH:PATH=/home/karl/Qt/6.8.3/android_arm64_v8a -DCMAKE_COLOR_DIAGNOSTICS:BOOL=ON -DANDROID_USE_LEGACY_TOOLCHAIN_FILE:BOOL=OFF -DCMAKE_C_COMPILER:FILEPATH=/home/karl/Android/Sdk/ndk/25.1.8937393/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -DCMAKE_CXX_FLAGS_INIT:STRING=-DQT_QML_DEBUG -DANDROID_ABI:STRING=arm64-v8a” terminated with exit code 1.
[cmake]
[cmake] Elapsed time: 00:44.
@JulianOes
Thanks for that.
Yes, have seen recommendation to use NDK26r, but given that build instructions call for NDK25 not sure if that won’t introduce other problems.
I had a little more succes by going into “Build Settings”, down to “Build Environment” and then selecting “Clear System Environment”.
This re-configured project. Then I’ve deselected that option. It once again re-configures project. After that suddenly got much further. - I.e. go a sample build done.
But going back to NDK 25 and problems are mostly back.
I suspect it’s related to an installation issue. As some other reports out there of similar nature got fixed after a re-install.
Might do that too after a full purge of Qt.