Tobias Ringström wrote:
I'm trying to build a GCC 4.4.2 cross compiler for an arm-elf target
(using binutils 2.19.1) on Fedora 12 x86_64 with the following
configure command:
> ../gcc-4.4.2/configure --prefix=/opt/arm-elf-gcc-4.4.2 \
--target=arm-elf --enable-languages=c --disable-libssp
The configure command works fine, but running "make" fails with the
following error:
> make
...
checking for a 64-bit type... unsigned long long
checking for pid_t... no
checking for library containing strerror... configure: error: Link
tests are not allowed after GCC_NO_EXECUTABLES.
make[1]: *** [configure-target-libiberty] Error 1
make[1]: Leaving directory `/home/tobias/src/gcc/build/arm-eabi/gcc'
make: *** [all] Error 2
I've successfully built many earlier versions (including 4.4.1) using
the same command line without any problems. I've searched the mailing
list and the web but not managed to find anything useful.
You must then have had the earlier C library preinstalled...
Am I doing something wrong, or is this a bug?
Producing a GCC generally requires the target C library being present
during the build for :
- fixing the target headers (fixinc phase)
- investigating the libraries for available functions (producing the
extra libs)
- using the headers when compiling the extra libs for the target
So you are doing something really wrong :(
With your $target most people use 'newlib' as the C library and if one
uses that, producing the GCC should succeed without a pre-existing
target C library. Only installing the generic newlib headers or
building newlib
with GCC (copying/symlinking 'newlib' and 'libgloss' from newlib srcs
into the main GCC src dir) are required... But then one must tell that
via the '--with-newlib' option in GCC configure!