On 01/18/18 12:47, Jorge Gonçalves wrote:
Hi,
I want to make some tests with FB embedded on android, and I'm getting
the follow error compiling the source.
....
/home/jgoncalves/dev/android/android-ndk-r16b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
-I/home/jgoncalves/dev/firebird/src/include/gen
-I/home/jgoncalves/dev/firebird/src/include -ggdb
-DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DANDROID -DARM -pipe -MMD -fPIC
-fmessage-length=0 -I/home/jgoncalves/dev/firebird/extern/libtommath
--sysroot=/home/jgoncalves/dev/android/android-ndk-r16b/platforms/android-24/arch-arm
-I/home/jgoncalves/dev/android/android-ndk-r16b/platforms/android-24/arch-arm/usr/include
-I/home/jgoncalves/dev/firebird/gen/cross
-I/home/jgoncalves/dev/android/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/include
-I/home/jgoncalves/dev/android/android-ndk-r16b/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include
-fno-omit-frame-pointer -pthread -pthread -c
../extern/libtommath/bn_error.c -o ../extern/libtommath/bn_error.o
In file included from ../extern/libtommath/bn_error.c:1:0:
/home/jgoncalves/dev/firebird/extern/libtommath/tommath.h:18:19: fatal
error: stdio.h: No such file or directory
#include <stdio.h>
^
compilation terminated.
make.rules:99: recipe for target '../extern/libtommath/bn_error.o' failed
make[4]: *** [../extern/libtommath/bn_error.o] Error 1
make[4]: Leaving directory '/home/jgoncalves/dev/firebird/gen'
...
the command used to configure/compile was taken from the Mariuz's Blog
and is:
./autogen.sh --with-system-editline --enable-binreloc
--with-cross-build=android.arme
OS : Ubuntu16.04
FB version : FB4
NDK : android-ndk-r16b
places where stdio.h was found on NDK
./sources/android/support/include/stdio.h
./sources/cxx-stl/llvm-libc++/include/stdio.h
./sources/cxx-stl/stlport/stlport/stdio.h
./sources/cxx-stl/gnu-libstdc++/4.9/include/tr1/stdio.h
./sysroot/usr/include/bits/fortify/stdio.h
./sysroot/usr/include/stdio.h
Any help will be appreciated.
Looks like the reason is changed by google structure of NDK.
Earlier /usr/include was placed into
./platforms/android-<stepping>/arch-<architecture> (like
./platforms/android-21/arch-arm).
Now it is in ./sysroot.
You have a choice:
1) Change CROSS_PLATFORM in make.android.arme
Ideally we need NDK-version dependent code in make.android.*
2) Use older NDK (sorry can't recommend particular version)
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel