Problem compiling gcc for PowerPC with Ada support

Ralf Corsepius ralf_corsepius at rtems.org
Thu Apr 8 03:52:25 UTC 2004


On Thu, 2004-04-08 at 04:43, Felix Schill wrote:
> Hi,
> 
> I'm currently trying to install the gcc rtems crosscompiler for the
> target PowerPC (an MPC555 board, ec555light from Wuertz electronics),
> with Ada language support. I'm using RTEMS version
> 4.6.0, and downloaded the recommended packages from the download helper.
>  (gcc-3.2.3, binutils-2.13.2.1, rtems-4.6.0). I am using Suse Linux 8.2,
> with gcc 3.3 and gnat-3.15p.
Hmm, I don't understand. Using the download helper you should have
obtained rpms. Nevertheless you seem to be trying to build the
toolchains manually. Why? 

AFAICT, the rh73 compiled rpms should work on SuSE-8.2, so there should
not be any reason trying to build the toolchains manually.

In case the rpms do not work on SuSE-8.2, you should be able to rebuild
the rpms from their *src.rpms. They are supposed to support under SuSE.
Feel free to ask for assistance (I had been using SuSE for ca. 8 years).

> Following the guidelines (using configure and make) in the included PDF
> document "started.pdf", I managed to compile and install binutils, and
> gcc with languages="c,c++" completely.
> When I added ada to the languages, I got the following error messages:

You are facing symptoms of the low quality of cross-building support in
gnat. 

ATM, the gnat+RTEMS-4.6.0/Ada situation is as follows:
* RTEMS-4.6.0 nominally supports gnats+RTEMS/Ada

* The official RTEMS-4.6.x toolchain is gcc-3.2.3. 
Building this toolchain requires to be using a native gcc-3.1.x/gnat or
gcc-3.2.x/gnat. Any other gnats probably will not work.

* Joel's latest set of RTEMS-4.6.0 gcc-newlib rpms lacks gnat support
(PR 594 in RTEMS gnats,
http://www.rtems.com/cgi-bin/gnatsweb.pl?database=RTEMS&cmd=view&pr=594). 
People wanting gnat should try the older toolchain rpms at:
ftp://ftp.rtems.org/pub/rtems/linux/redhat/7.3/i386/rpms/rtems-4.6/rtems-4.6-gcc3.2.3newlib1.11.0-1
or wait until Joel (finally) manages to fix this PR.

Furthermore, cross-building gcc/gnat-3.3.x will not work, because
gcc-3.3/gnat does not support cross-compilation in general. Therefore
there probably won't ever be gcc/gnat-3.3.x toolchains for RTEMS.

Cross-building gcc/gnat-3.4.x for RTEMS currently also doesn't work.
Joel is currently trying to get the most nasty build errors fixed before
gcc-3.4.0 is released, but chances are dropping every day. I.e. there is
a chance to see gcc-3.4.x some day in future, but it probably will not
happen soon.

gcc-3.5 promises some improvements wrt. cross-building gnat
(Introduction of a separate gnatlib). However, it is too early to make
an estimate if these promises will come true (Similar promises in the
past had shown to be false).

> Has anyone an idea what the problem could be? I can compile all my other
> Ada programs without problems, using the same gcc setup, so the native
> compiler seems to work.

Cross building gcc/gnat is "just plain broken" and the responsible
FSF/GCC and ACT folks don't seem to be able and/or willing to provide a
reasonable solution - I for one have drawn my conclusions, which are
very close to what Zack Weinberg has formulated in 
http://gcc.gnu.org/ml/gcc/2004-02/msg00859.html

Ralf





More information about the users mailing list