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

Reply via email to