This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: build trouble, gcc 2.95.3 i868/powerpc cross compiler


Stephen Cameron wrote:
> 
> I'm trying to build a gcc cross compiler,
> host is linux i686 box, target is powerpc.
> 
> I have done the following so far.
> 
> I have searched dejanews/google and this list's
> archive and found several close matches, but when
> I tried the suggestions provided previously it has
> not so far worked for me.
> 
> The gcc I'm using to try to make the cross compiler is:
> 2.96 (according to `gcc --version, this is a redhat 7.2 system)
> 
> Got gcc.2.95.3.tar.gz from ftp.gnu.org
> Got newlib from CVS ( :pserver:anoncvs@anoncvs.cygnus.com:/cvs/src )
> Got binutils-2.12.90.0.4.tar.bz2 from ftp.gnu.org

 Linux/PPC doesn't use newlib and I remenber binutils-2.11.2 or even
binutils-2.10.1 being recommended... I have binutils-2.10 (20000704)
in my Windoze-hosted toolset, so at least the '2.10.x' should work...
 
> Copied src/newlib directory to /home/scameron/gcc-2.95.3/newlib
> 
> cd /home/scameron/gcc-2.95.3
> ./configure --prefix=/usr/local/ppc \
>         --target=powerpc-linux \
>         --enable-shared \
>         --with-headers=/home/scameron/gcc-2.95.3/newlib/libc/includ

 If you use newlib-stuff for Linux, the produced library stuff will
be garbage. You must use glibc, just as you use it with your native
Linux-GCC. And the expectation is that nobody wants to 'reinvent the
wheel' and the glibc is already built and installed when starting to
build GCC.

 What kind of religion or attitude disables you to copy a prebuilt
glibc from the target machine or from some other Linux/PPC system
or from a Linux/PPC distribution on the net (SuSE PPC, YellowDog,...) ?
Then build GCC using it and then possibly updating glibc from its
sources?  If one wants to build everything from sources, 'start from
scratch', this is the easy way.

 The Linux-distributors may (not necessarily claiming they will) make
small changes to their own glibc's used in their distributions, so
incompatabilities may exist... A paranoid's attitude, but...

> make[1]: Leaving directory `/home/scameron/gcc-2.95.3/powerpc-linux/libiberty'
> make: *** [all-target-libiberty] Error 2

 You should have no reason at all to try to build 'libiberty' against
the newlib headers... Producing garbage is not considered necessary.
When you have the glibc headers available, then please do this...

 The build commands:

     make all-gcc LANGUAGES=c
and
     make install-gcc

should be enough to build the C-compiler and install it... And then
struggle with the glibc-build. And then build GCC again in order to
get any sane libraries for it... But I prefer the 'at least somehow
working tools already in the beginning' approach, ie. downloading a
prebuilt glibc for the Linux/PPC distribution in question or simply
copying from the target system, and using it during the GCC-build.
In some cases it can also be the final glibc, for instance when
targeting to SuSE 7.2/PPC or something... It is questionable whether
one can build a better glibc than the SuSE-people...

Cheers, Kai


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]