Marble on android compilation problem

Jean GUARDIA jean.guardia at laposte.net
Sun Feb 5 09:50:22 UTC 2017


Many thanks Dennis, for your response.
As I need really,really quick this, I managed to compile marble. 
Here what i have done to make it work. It is absolutely ugly but it worked
for me.

In the NDK, i link every x86 folders as if they where arm. and link every 
compiler files as if they were arm. Then I compile and it produces the build 
with no more errors. I know it's really ugly, bad, and dirty ...
I do this because it was the mess and whatever parameter I give, compiler or 
libs were not found.
In a later mail, i will give you all the tests i've made
One more time, thank you for your support and your quick response.

Sincerely yours.  Jean Guardia

Le vendredi 3 février 2017, 16:06:12 CET Dennis Nienhüser a écrit :
> 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/tool
> > chain/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_6
> > 4/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_6
> > 4/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/includ
> > e
> > 
> >  -isystem
> > 
> > /home/jean/Android/Sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/a
> > rmeabi-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