Build a cross compiler for Android target (arm)

BERTRAND Joel joel.bertrand@systella.fr
Sat Oct 15 09:41:00 GMT 2011


	Hello,

	I'm trying to build a cross compiler for Android target as I want to 
obtain a Fortran compiler.

	I have downloaded gcc-4.6.1 sources and configured build tree with :

   $ ../gcc-4.6.1/configure 
--prefix=/home/bertrand/android/ndk/compilers --disable-libquadmath 
--target=arm-android-eabi --with-gnu-as --with-gnu-ld 
--enable-languages=c,c++,fortran 
--with-mpfr=/home/bertrand/android/ndk/compilers 
--with-gmp=/home/bertrand/android/ndk/compilers 
--with-mpc=/home/bertrand/android/ndk/compilers --disable-libssp 
--enable-threads --disable-nls --disable-libgomp --disable-shared 
--disable-tls --with-float=soft --with-fpu=vfp --with-arch=armv5te 
--enable-target-optspace 
--with-sysroot=/home/bertrand/android/ndk/sysroot/ 
--host=x86_64-unknown-linux-gnu

	Of course, I have installed android ndk to have sysroot.
Build process stops with :

checking whether the 
/home/bertrand/android/ndk/compilers/gcc-build/./gcc/xgcc 
-B/home/bertrand/android/ndk/compilers/gcc-build/./gcc/ 
-B/home/bertrand/android/ndk/compilers/arm-android-eabi/bin/ 
-B/home/bertrand/android/ndk/compilers/arm-android-eabi/lib/ -isystem 
/home/bertrand/android/ndk/compilers/arm-android-eabi/include -isystem 
/home/bertrand/android/ndk/compilers/arm-android-eabi/sys-include 
linker (/home/bertrand/android/ndk/compilers/gcc-build/./gcc/collect-ld) 
supports shared libraries... yes
checking dynamic linker characteristics... no
checking how to hardcode library paths into programs... immediate
checking for shl_load... configure: error: Link tests are not allowed 
after GCC_NO_EXECUTABLES.
make[1]: *** [configure-target-libstdc++-v3] Erreur 1
make[1]: quittant le répertoire « 
/home/bertrand/android/android-ndk-r6b/compilers/gcc-build »
make: *** [all] Erreur 2

	Faulty config.log contains :

configure:9038: checking whether the 
/home/bertrand/android/ndk/compilers/gcc-build/./gcc/xgcc 
-B/home/bertrand/android/ndk/compilers/gcc-build/./gcc/ 
-B/home/bertrand/android/ndk/compilers/arm-android-eabi/bin/ 
-B/home/bertrand/android/ndk/compilers/arm-android-eabi/lib/ -isystem 
/home/bertrand/android/ndk/compilers/arm-android-eabi/include -isystem 
/home/bertrand/android/ndk/compilers/arm-android-eabi/sys-include 
linker (/home/bertrand/android/ndk/compilers/gcc-build/./gcc/collect-ld) 
supports shared libraries
configure:10118: result: yes
configure:10363: checking dynamic linker characteristics
configure:11039: result: no
configure:11146: checking how to hardcode library paths into programs
configure:11171: result: immediate
configure:11268: checking for shl_load
configure:11268: error: Link tests are not allowed after GCC_NO_EXECUTABLES.

	I have found several posts with google, but no one gives me a solution. 
If I add --disable-libstdc__-v3 from configure command line, I obtain 
running C and Fortran compilers, but C++ compiler is not able to compile 
any program that uses standard libc++.

	Any idea ?

	Regards,

	JKB



More information about the Gcc-help mailing list