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]

Creating powerpc-linux bootstrap Gcc WITH newlib package rather then glibc. is this a solved problem?


Let me start by saying I am a newbee in the field and what I lack in knowledge I make up by pure determination.
I am trying to compile a working toolchain hosted on I686-pc-cygwin for target powerpc-linux-gnu (Motorola 603e processor)
the target is an embedded one so I followed some suggestion on the net and chose newlib as a runtime library.
after building and installing the cross binutils successfully I approach the task of creating a bootstrap gcc.

when making the bootstrap gcc I get the next error: 
--------------------------
In file included from tconfig.h:22,
                 from /cross/mpc8260ads/src/gcc-3.2/gcc/libgcc2.c:36:
/cross/mpc8260ads/src/gcc-3.2/gcc/config/rs6000/linux.h:81:20: signal.h: No such file or directory
/cross/mpc8260ads/src/gcc-3.2/gcc/config/rs6000/linux.h:82:26: sys/ucontext.h: No such file or directory
make[2]: *** [libgcc/./_muldi3.o] Error 1
make[1]: *** [stmp-multilib] Error 2
make: *** [all-gcc] Error 2
-------------

The net and mostly this mailing list is littered with newbees and plain x ppl who have reached this particular bump. most of the work around involve pre installing glibc header files or adding and removing flags to the configure file.
but if I do not want to use glibc? (adding and removing flags to the configure file did not help and glibc is not will not work on cygwin)

here is a copy of the most informative email posted by dan no so long ago
----------------------------------------------------------------------------------------------------------
Dan Kegel wrote:
> 
> Dimi Shahbaz wrote:
> > I'm trying to build a cross toolset for ppc.  The binutils build and
> > install fine.  When I try gcc, however, I get the following error ...
> > In file included from tm.h:7,
> >                  from ../../gcc-3.0.4/gcc/config/rs6000/xm-sysv4.h:35,
> >                  from tconfig.h:3,
> >                  from ../../gcc-3.0.4/gcc/libgcc2.c:36:
> > ../../gcc-3.0.4/gcc/config/rs6000/linux.h:81:20: signal.h: No such file
> > or directory
> > ../../gcc-3.0.4/gcc/config/rs6000/linux.h:82:26: sys/ucontext.h: No such
> > file or directory
> >
> > Here is my configure line:
> > ../gcc-3.0.4/configure --target=powerpc-linux --build=`arch`-linux
> > --program-prefix=powerpc-linux- --prefix=$HOME/opt/ppc405/
> > --without-headers --enable-languages=c --with-newlib --disable-shared
> > --with-cpu=403 --nfp
> >
> > As far as I can tell, sys/ucontext.h as well as signal.h are part of
> > glibc, which I would normally build/install *after* gcc.
> 
> Hmm.  Check out the following thread:
> <http://sources.redhat.com/ml/crossgcc/2001-08/msg00001.html>
> <http://sources.redhat.com/ml/crossgcc/2001-08/msg00016.html>
> And again one month later:
> <http://sources.redhat.com/ml/crossgcc/2001-09/msg00107.html>
> <http://sources.redhat.com/ml/crossgcc/2001-09/msg00124.html>
> And again last month:
> <http://sources.redhat.com/ml/crossgcc/2002-03/msg00020.html>
and also
<http://gcc.gnu.org/ml/gcc-bugs/2001-09/msg00719.html>

Sorry, I missed the --with-newlib in your config line last time.
You did everything right, at least according to Bill's FAQ, I think.

I now suspect this is a build gotcha in gcc3.  See
<http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3641>
The suggestion there is to do 'make install_headers' in glibc
before building the bootstrap compiler, I think.  (I didn't look at
it very hard, though, so I might be confused.)
- Dan-
----------------------------------------------------------------------------------

My question is: Is this a solved problem? if so, what is the solution and why is it not highlighted in large bold letters in some tutorials.

If this is not a solved problem, meaning I have to use glibc or patch the gcc sources or any other creative solution (not to mention the option that It can't be done with reasonable effort at all) my question stay's WHY is it not stated in large bold letters in all the tutorials. what cant be done is just as important as what can be done!




------
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]