Building Pango Cairo for Android NDK

I found someone who ported Pango Cairo for Android NDK ( blog post , source code ). However, I was not successful in compiling my sample project. Has anyone managed to do this and can tell me what I'm doing wrong?

This is what I have tried so far:

  • git clone --recursive http://dev.laptop.org/git/users/cscott/android-libs/
  • git for some reason could not find pixman, so git clone http://cgit.freedesktop.org/pixman/ , and moved to android-libs / jni / pixman
  • copied the contents of android-libs / jni / to android-libs / examples / java-bitmap / jni (don’t know which Android.mk to save?)
  • renamed java-bitmap / jni / Makefile.devel to Makefile
  • edited the java-bitmap / jni / Makefile as follows: NDK = / cygdrive / f / android-ndk-r8b ToolChain = $ (NDK) /toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin
  • tried to run make in java-bitmap / jni

I get the following error:

checking for arm-linux-eabi-gcc... arm-linux-androideabi-gcc --sysroot /cygdrive/f/android-ndk-r8b/platforms/android-9/arch-arm -fpic -ffunction-sections -funwind-tables -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -mfpu=vfp -Wno-psabi -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wa,--noexecstack -g -isystem /cygdrive/f/workspace/java-bitmap/jni/sysroot/include checking whether the C compiler works... no configure: error: in `/cygdrive/f/workspace/java-bitmap/jni/pixman': configure: error: C compiler cannot create executables See `config.log' for more details Makefile:133: recipe for target `pixman/config.h' failed make: *** [pixman/config.h] Error 77 

Here is a fragment of config.h file

 configure:3460: checking whether the C compiler works configure:3482: arm-linux-androideabi-gcc --sysroot /cygdrive/f/android-ndk-r8b/platforms/android-9/arch-arm -fpic -ffunction-sections -funwind-tables -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -mfpu=vfp -Wno-psabi -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wa,--noexecstack -g -isystem /cygdrive/f/workspace/java-bitmap/jni/sysroot/include -nostdlib -DPIXMAN_NO_TLS -DWCHAR_MIN=INT_MIN -DWCHAR_MAX=INT_MAX -I/cygdrive/f/workspace/java-bitmap/jni/pixman-extra -I/cygdrive/f/workspace/java-bitmap/jni/sysroot/include -include pixman-elf-fix.h -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -lc -lgcc -L/cygdrive/f/workspace/java-bitmap/jni/sysroot/lib conftest.c >&5 cc1.exe: error: pixman-elf-fix.h: No such file or directory configure:3486: $? = 1 configure:3524: result: no configure: failed program was: .. configure:3529: error: in `/cygdrive/f/workspace/java-bitmap/jni/pixman': configure:3531: error: C compiler cannot create executables See `config.log' for more details 
+4
source share
1 answer

I took it one step further.

Instead

 git clone http://cgit.freedesktop.org/pixman/ 

I downloaded using

 git clone --recursive http://dev.laptop.org/git/users/cscott/android-pixman 

and copied all the files to the empty jni/pixman . Now the pixman-elf-fix.h found, but the linker does not work:

/tmp/cc2XOCMj.o :(. ARM.exidx.text.main + 0x0): undefined reference to `__aeabi_unwind_cpp_pr0 '.

But this is probably caused by the same problem.

-1
source

All Articles