Marble on android compilation problem

Dennis Nienhüser nienhueser at kde.org
Fri Feb 3 15:06:12 UTC 2017


Hi Jean,

thanks for the nice mail with detailled information, appreciated.

I don't see any hardcoded arm values neither in Marble nor in the 
Android toolchain from extra-cmake-modules. I wonder if the problem 
originates from an early cmake call where not all x86 values had been 
set. Can you run 'make rebuild_cache' in the build directory and test if 
that makes linking work afterwards?

Regards,
Dennis

Am 01.02.2017 10:37, schrieb jean.guardia at laposte.net:
> Hello, first of all, many thanks for the great work you've done on kde
> and particularily on porting some maps on android
> 
> I don't know if this mail is the right place to ask a question.
> 
> I manage to buil successfully kde marble for android (arm version) and
> it works great.
> 
> However one of my peripheral is using android on a x86 processor. I
> try to compile
> 
> for this targer but i get some errors. I'm pretty sure i'm missing
> something
> 
> here's the command line I use:
> cmake ../sources -DCMAKE_INSTALL_PREFIX=/home/jean/Android/marble/x86
> -DECM_ADDITIONAL_FIND_ROOT_PATH=${Qt5_android}
> -DANDROID_ARCHITECTURE=x86 -DANDROID_TOOLCHAIN=x86 -DANDROID_ABI=x86
> -DCMAKE_TOOLCHAIN_FILE="/home/jean/marble/sources/extra-cmake-modules/toolchain/Android.cmake"
> 
> 
> But i get an error :
> 
> -- Check for working C compiler:
> /home/jean/Android/Sdk/ndk-bundle//toolchains/x86-4.9/prebuilt/linux-x86_64/bin/x86-gcc
> -- broken
> CMake Error at
> /usr/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake:61 (message):
>  The C compiler
> 
> "/home/jean/Android/Sdk/ndk-bundle//toolchains/x86-4.9/prebuilt/linux-x86_64/bin/x86-gcc"
>  is not able to compile a simple test program.
> 
>  It fails with the following output:
> 
>  Change Dir: /home/jean/marble/build_x86/CMakeFiles/CMakeTmp
> 
>  Run Build Command:"/usr/bin/make" "cmTC_e379f/fast"
> 
>  /usr/bin/make -f CMakeFiles/cmTC_e379f.dir/build.make
>  CMakeFiles/cmTC_e379f.dir/build
> 
>  make[1] : on entre dans le répertoire
>  « /home/jean/marble/build_x86/CMakeFiles/CMakeTmp »
> 
>  Building C object CMakeFiles/cmTC_e379f.dir/testCCompiler.c.o
> 
> 
> /home/jean/Android/Sdk/ndk-bundle//toolchains/x86-4.9/prebuilt/linux-x86_64/bin/x86-gcc
>  
> --sysroot=/home/jean/Android/Sdk/ndk-bundle//platforms/android-14/arch-arm
>  -DANDROID -isystem
>  
> /home/jean/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include
>  -isystem
> 
> /home/jean/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include
>  -o CMakeFiles/cmTC_e379f.dir/testCCompiler.c.o -c
>  /home/jean/marble/build_x86/CMakeFiles/CMakeTmp/testCCompiler.c
> 
>  Linking C executable cmTC_e379f
> 
>  /usr/bin/cmake -E cmake_link_script
> CMakeFiles/cmTC_e379f.dir/link.txt
>  --verbose=1
> 
> It seems that linking is always done with arm libs, which is wrong.
> 
> maybe can you help if you get enough time for that.
> 
> Thanks a lot
> 
> Sincerely yours Jean Guardia


More information about the KDE-Android mailing list