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]

Re: cygwin arm-elf-linux gcc build failure


David Korn wrote:
> 
> >From: John Andrews [mailto:john@triscend.com]
> >Sent: 23 March 2001 08:47
> 
> >I got rid of the -linux in the arm-elf-linux configuration and
> >I was able to complete building arm-elf-gcc --with-newlib.
> 
> >Can someone please tell me what libs I need in place to build
> >arm-elf-linux-gcc? What I'm really shooting for is building
> >uClinux-2.4,
> 
>   Now, rth said:
> 
> >>  If you want a linux target, then you will need to obtain glibc and
> >> build with that.  If you want newlib, then I suggest you use a more
> >> appropriate cross configuration, such as plain "arm-elf".
> 
>   Given that, as you have just stated, you want to build a linux system,
> why didn't you follow the first part of his advice rather than the
> second ?  I don't know if uClinux is some embedded variant, but it
> probably still needs glibc rather than newlib.

 To add to this...

 Why on earth complicate matters with trying to build from scratch?

 The "obtain glibc" may be interpreted in two ways and the "obtain the
C-library binaries" is the normal way with cross-compilers for systems
which have their C-library freely available (Linux, Cygwin, Mingw,
DJGPP,...). Building from the sources needs some strong reason.

 I think MontaVista (www.mvista.com or something) provides a prebuilt
'arm-linux' targeted toolkit and this includes the prebuilt target libs
and headers for something possibly quite near to the uClinux. How their
'HardHat-Linux' differs is then another subject, but getting something
working first could help.

 I built my 'arm-linux-gnu' toolset by first compiling GCC using the copied
glibc-headers from my 'i586-linux-gnu' machine, first replacing the links
to the kernel headers (the 'asm' and 'linux' subdirs in 'include') to the
right ones. Then built glibc-2.1.3 and rebuilt GCC using the installed glibc
(to make sure the right headers were used) and  then built glibc-2.2.1 as
another glibc... My 'strong reasons' were that I thought I can handle this
and that all downloads will cost time and money (a dial-up modem connection),
the glibc-binaries in the net are compiled with '-g', so they are big, 20 M
or so, 2 hours to download with 'normal speeds' (getting 56 kbits/s with a
dial-up connection using a modem for that speed is still just a dream...).

 So I built from scratch, but I knew all the time what I was doing... If
things are still unclear, following the "Installation / Cross-Compiler"
from the GCC manual, getting first the target libs and headers, and then
building GCC using them, is the sure way...

 Generally it sounds absurd that someone could be a novice and to be the
first to build binutils+gcc+glibc for something called 'uClinux-2.4' for
ARM... Prebuilt binutils and gcc binaries aren't necessary, but the
prebuilt glibc is... Anyone trying to build GCC for his/hers host, will
need some target libs & headers first if not being familiar with building
from scratch. So I would expect the 'arm-linux' C-library being easily
available in the net...

 The prebuilt libs can be for a wrong ARM-processor type etc., but if
GCC can be built using them, producing glibc for just the right type
later isn't hard... Just following the build/install instructions in
glibc sources...

Cheers, Kai


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


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