arm-elf-gcc 4.6.0 build failure
Kai Ruottu
kai.ruottu@wippies.com
Tue Mar 29 08:25:00 GMT 2011
29.3.2011 9:45, Massimiliano Cialdi kirjoitti:
> Il giorno lun, 28/03/2011 alle 09.55 -0700, Ian Lance Taylor ha scritto:
>> Unless you specifically need arm-elf, I recommend that you use
>> --target=arm-eabi. Yes, this is not documented. However, this is not
>> your problem.
>>
>> What OS are you running on?
> No OS. We use cross compiler to build binary for arm based
> microcontrollers (and also avr).
Ian most probably asked the $host system where the crosscompiler
was built and tried...
But when I tried the 'arm-elf' target, the gcc-4.6.0 build went
through nicely without any problems... The components being used
were:
- binutils-2.20.51.0.8.20100412 (these were built on Apr 27 2010)
- pristine newlib-1.19.0 sources
- pristine gcc-4.6.0 sources
- CentOS 5.5 i686 with gcc-4.1.2 as the $build system
The build method was the quite usual single-pass one :
- mpc-0.8.1 and ppl-0.10.2 sources were symlinked into the gcc-4.6.0
sources as 'mpc' and 'ppl'. The 'gmp' and 'mpfr' libraries for the
$host were prebuilt and preinstalled.
- The 'newlib' and 'libgloss' from the newlib-1.19.0 sources were
symlinked into the gcc-4.6.0 sources.
- The generic headers in 'newlib-1.19.0/newlib/libc/include' were
preinstalled into the '$prefix/arm-elf/include'.
- The '$prefix/arm-elf/include' was symlinked to be seen also as
'$prefix/arm-elf/sys-include'.
So newlib-1.19.0 was built and installed with other gcc-4.6.0 libs
for the 'arm-elf' $target. And 'mpc' & 'ppl' were built for the $host
with gcc-4.6.0. The resulted GCC shows the configure switches :
[root@localhost arm-elf]# gcc-arm-elf-4.6 -v
Using built-in specs.
COLLECT_GCC=gcc-arm-elf-4.6
COLLECT_LTO_WRAPPER=/usr/local/lib/gcc/arm-elf/4.6.0/lto-wrapper
Target: arm-elf
Configured with: ../configure --build=i686-linux-gnu
--host=i686-linux-gnu --target=arm-elf --enable-languages=c,c++
--with-newlib --libexecdir=/usr/local/lib --disable-shared
--enable-newlib --enable-multilib --enable-interwork --disable-threads
--disable-nls --enable-libstdcxx-allocator=malloc
--with-gxx-include-dir=/usr/local/include/c++/4.6.0
--enable-version-specific-runtime-libs --with-pkgversion='by Kai Ruottu
2011q1' --program-suffix=-arm-elf-4.6
Thread model: single
gcc version 4.6.0 (by Kai Ruottu 2011q1)
I really don't know for what purpose the '--enable-newlib' (???) and
'--enable-multilib' (the default) were used in your configure, but in
any case I added them too...
> I will try arm-eabi
>> I don't know why this is happening, but if you have zlib installed you
>> can probably avoid the problem by adding --with-system-zlib to your
>> configure line.
So... What on earth happened? Your original message surprisingly was
never received via the 'gcc-help' maillist but a search in net told
that the real error was :
configure:5778: checking for version 0.11 (revision 0 or later) of PPL
configure:5795: gcc -c -g -O2 conftest.c >&5
conftest.c:10: fatal error: ppl_c.h: No such file or directory
compilation terminated.
Which would say that you simply didn't have a prebuilt 'ppl' library
for your $host or hadn't put the 'ppl' sources into your gcc-4.6.0
sources... Having 'ppl' may be obligatory with gcc-4.6.0 !
More information about the Gcc-help
mailing list