public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* building a gcc-3.3-prerelease cross-compiler
@ 2003-05-12 12:00 Rene Rebe
  2003-05-12 14:22 ` Daniel Jacobowitz
  0 siblings, 1 reply; 14+ messages in thread
From: Rene Rebe @ 2003-05-12 12:00 UTC (permalink / raw)
  To: gcc

Hi,

I just started to test how far the gcc-3.3-prerelease progresses
compiling our distribution build kit, but I get into trouble in the
first step creating a cross compiler. (The configuration and scripts
work flawlessly for gcc-2.95.3 and gxx-3.x).

After the configure it claims to be configured as:

Links are now set up to build a cross-compiler for i586-pc-linux-gnu
  from i686-nocross-linux-gnu.

But running "make" it compiles the initial xgcc but bails out:

checking whether the C compiler ( /home/rock-linux/rock-trunk/src.gccx.1052738245
.1392.3356848690/gcc-3.3-20030508/objdir/gcc/xgcc -B/home/rock-linux/rock-trunk/s
rc.gccx.1052738245.1392.3356848690/gcc-3.3-20030508/objdir/gcc/ -B/home/rock-linu
x/rock-trunk/build/test-2.0.0-beta3-x86-pentium-mmx-generic-expert/tools.cross/us
r/i586-pc-linux-gnu/bin/ -B/home/rock-linux/rock-trunk/build/test-2.0.0-beta3-x86
-pentium-mmx-generic-expert/tools.cross/usr/i586-pc-linux-gnu/lib/ -isystem /home
/rock-linux/rock-trunk/build/test-2.0.0-beta3-x86-pentium-mmx-generic-expert/tool
s.cross/usr/i586-pc-linux-gnu/include -O2 -g ) works... no
configure: error: installation or configuration problem: C compiler cannot create
 executables.
make: *** [configure-target-libiberty] Error 1

Where the error is:

/home/rock-linux/rock-trunk/build/test-2.0.0-beta3-x86-pentium-mmx-generic-expert/tools.cross/usr/i586-pc-linux-gnu/bin/ld: cannot open crt1.o: No such file or directory
collect2: ld returned 1 exit status
configure: failed program was:

#line 2407 "configure"
#include "confdefs.h"

main(){return(0);}

But the crt1.o is installed by the glibc which would be built after we
created the cross-compiler ...

Any ideas?

- René Rebe
    / ROCK Linux stable release maintainer

--  
René Rebe - Europe/Germany/Berlin
  rene@rocklinux.org rene.rebe@gmx.net
http://gsmp.tfh-berlin.de/gsmp http://www.rocklinux.org
http://www.rocklinux.org/people/rene http://gsmp.tfh-berlin.de/rene/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-12 12:00 building a gcc-3.3-prerelease cross-compiler Rene Rebe
@ 2003-05-12 14:22 ` Daniel Jacobowitz
  2003-05-12 16:51   ` Rene Rebe
  0 siblings, 1 reply; 14+ messages in thread
From: Daniel Jacobowitz @ 2003-05-12 14:22 UTC (permalink / raw)
  To: Rene Rebe; +Cc: gcc

On Mon, May 12, 2003 at 01:54:53PM +0200, Rene Rebe wrote:
> Hi,
> 
> I just started to test how far the gcc-3.3-prerelease progresses
> compiling our distribution build kit, but I get into trouble in the
> first step creating a cross compiler. (The configuration and scripts
> work flawlessly for gcc-2.95.3 and gxx-3.x).
> 
> After the configure it claims to be configured as:
> 
> Links are now set up to build a cross-compiler for i586-pc-linux-gnu
>   from i686-nocross-linux-gnu.
> 
> But running "make" it compiles the initial xgcc but bails out:
> 
> checking whether the C compiler ( /home/rock-linux/rock-trunk/src.gccx.1052738245
> .1392.3356848690/gcc-3.3-20030508/objdir/gcc/xgcc -B/home/rock-linux/rock-trunk/s
> rc.gccx.1052738245.1392.3356848690/gcc-3.3-20030508/objdir/gcc/ -B/home/rock-linu
> x/rock-trunk/build/test-2.0.0-beta3-x86-pentium-mmx-generic-expert/tools.cross/us
> r/i586-pc-linux-gnu/bin/ -B/home/rock-linux/rock-trunk/build/test-2.0.0-beta3-x86
> -pentium-mmx-generic-expert/tools.cross/usr/i586-pc-linux-gnu/lib/ -isystem /home
> /rock-linux/rock-trunk/build/test-2.0.0-beta3-x86-pentium-mmx-generic-expert/tool
> s.cross/usr/i586-pc-linux-gnu/include -O2 -g ) works... no
> configure: error: installation or configuration problem: C compiler cannot create
>  executables.
> make: *** [configure-target-libiberty] Error 1
> 
> Where the error is:
> 
> /home/rock-linux/rock-trunk/build/test-2.0.0-beta3-x86-pentium-mmx-generic-expert/tools.cross/usr/i586-pc-linux-gnu/bin/ld: cannot open crt1.o: No such file or directory
> collect2: ld returned 1 exit status
> configure: failed program was:
> 
> #line 2407 "configure"
> #include "confdefs.h"
> 
> main(){return(0);}
> 
> But the crt1.o is installed by the glibc which would be built after we
> created the cross-compiler ...
> 
> Any ideas?

You can't build target libraries until after you've built glibc.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-12 14:22 ` Daniel Jacobowitz
@ 2003-05-12 16:51   ` Rene Rebe
  2003-05-12 16:59     ` Paul Koning
                       ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Rene Rebe @ 2003-05-12 16:51 UTC (permalink / raw)
  To: drow; +Cc: gcc

Hi,

On: Mon, 12 May 2003 10:22:38 -0400,
    Daniel Jacobowitz <drow@mvista.com> wrote:

[ ... error log ... ]

> > Any ideas?
> 
> You can't build target libraries until after you've built glibc.

Well nice that the cross-build instructions change between every major
release (and sometimes between minors ...). What are the current
instructions?

(Is it intentional that the GCC install instructions point to the
rather old "Version: 1.01, Last Updated December 3, 1999" CrossGCC/FAQ
? Maybe some more recent info should be included in the install
document ...)

> -- 
> Daniel Jacobowitz
> MontaVista Software                         Debian GNU/Linux Developer

- René
    / ROCK Linux stable release maintainer

--  
René Rebe - Europe/Germany/Berlin
  rene@rocklinux.org rene.rebe@gmx.net
http://gsmp.tfh-berlin.de/gsmp http://www.rocklinux.org
http://www.rocklinux.org/people/rene http://gsmp.tfh-berlin.de/rene/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-12 16:51   ` Rene Rebe
@ 2003-05-12 16:59     ` Paul Koning
  2003-05-12 19:24       ` Rene Rebe
  2003-05-13 15:46       ` Michael Eager
  2003-05-12 17:04     ` Joseph S. Myers
  2003-05-12 17:13     ` Daniel Jacobowitz
  2 siblings, 2 replies; 14+ messages in thread
From: Paul Koning @ 2003-05-12 16:59 UTC (permalink / raw)
  To: rene.rebe; +Cc: drow, gcc

>>>>> "Rene" == Rene Rebe <rene.rebe@gmx.net> writes:

 Rene> Hi, On: Mon, 12 May 2003 10:22:38 -0400, Daniel Jacobowitz
 Rene> <drow@mvista.com> wrote:

 Rene> [ ... error log ... ]

 >> > Any ideas?
 >> 
 >> You can't build target libraries until after you've built glibc.

 Rene> Well nice that the cross-build instructions change between
 Rene> every major release (and sometimes between minors ...). What
 Rene> are the current instructions?

 Rene> (Is it intentional that the GCC install instructions point to
 Rene> the rather old "Version: 1.01, Last Updated December 3, 1999"
 Rene> CrossGCC/FAQ ? Maybe some more recent info should be included
 Rene> in the install document ...)

Indeed.  It would be even better if they actually worked.  I have
never seen ones that work.  The closest I have come is procedures that
result in a build process that aborts at some point, but gets far
enough to produce a compiler that appears to function.

       paul

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-12 16:51   ` Rene Rebe
  2003-05-12 16:59     ` Paul Koning
@ 2003-05-12 17:04     ` Joseph S. Myers
  2003-05-12 17:13     ` Daniel Jacobowitz
  2 siblings, 0 replies; 14+ messages in thread
From: Joseph S. Myers @ 2003-05-12 17:04 UTC (permalink / raw)
  To: Rene Rebe; +Cc: drow, gcc

On Mon, 12 May 2003, Rene Rebe wrote:

> Well nice that the cross-build instructions change between every major
> release (and sometimes between minors ...). What are the current
> instructions?
> 
> (Is it intentional that the GCC install instructions point to the
> rather old "Version: 1.01, Last Updated December 3, 1999" CrossGCC/FAQ
> ? Maybe some more recent info should be included in the install
> document ...)

About fifteen requests for a volunteer with relevant expertise to overhaul
the documentation on building cross compilers produced just one volunteer
who didn't follow up, and no improvements to the documentation.  The 
relevant PR for the lack of this documentation is other/5301.

-- 
Joseph S. Myers
jsm28@cam.ac.uk

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-12 16:51   ` Rene Rebe
  2003-05-12 16:59     ` Paul Koning
  2003-05-12 17:04     ` Joseph S. Myers
@ 2003-05-12 17:13     ` Daniel Jacobowitz
  2 siblings, 0 replies; 14+ messages in thread
From: Daniel Jacobowitz @ 2003-05-12 17:13 UTC (permalink / raw)
  To: Rene Rebe; +Cc: gcc

On Mon, May 12, 2003 at 06:54:23PM +0200, Rene Rebe wrote:
> Hi,
> 
> On: Mon, 12 May 2003 10:22:38 -0400,
>     Daniel Jacobowitz <drow@mvista.com> wrote:
> 
> [ ... error log ... ]
> 
> > > Any ideas?
> > 
> > You can't build target libraries until after you've built glibc.
> 
> Well nice that the cross-build instructions change between every major
> release (and sometimes between minors ...). What are the current
> instructions?

This is not a change.  It's always been true.  Now, maybe you were able
to get away with it before... I certainly couldn't, and I've been
building glibc before target libstdc++ since before GCC 2.95.

> (Is it intentional that the GCC install instructions point to the
> rather old "Version: 1.01, Last Updated December 3, 1999" CrossGCC/FAQ
> ? Maybe some more recent info should be included in the install
> document ...)

No one's got the combination of time, experience, and motivation to
write any.  I may for the 3.4 release, at which time it will be a heck
of a lot simpler.  Need to fix a bug in glibc's install_headers rule
first.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-12 16:59     ` Paul Koning
@ 2003-05-12 19:24       ` Rene Rebe
  2003-11-05 14:12         ` Rene Rebe
  2003-05-13 15:46       ` Michael Eager
  1 sibling, 1 reply; 14+ messages in thread
From: Rene Rebe @ 2003-05-12 19:24 UTC (permalink / raw)
  To: pkoning; +Cc: drow, gcc

Hi,

On: Mon, 12 May 2003 12:59:13 -0400,
    Paul Koning <pkoning@equallogic.com> wrote:

>  Rene> (Is it intentional that the GCC install instructions point to
>  Rene> the rather old "Version: 1.01, Last Updated December 3, 1999"
>  Rene> CrossGCC/FAQ ? Maybe some more recent info should be included
>  Rene> in the install document ...)
> 
> Indeed.  It would be even better if they actually worked.  I have
> never seen ones that work.  The closest I have come is procedures that
> result in a build process that aborts at some point, but gets far
> enough to produce a compiler that appears to function.

In ROCK Linux we always had working cross-compile functionality since
we support cross build (of selected packages). We even do build a
"pseudo" cross compile for native builds (e.g. to have a clean
compiler for the real gcc build - and for system that have an old gcc
and the new glibc-2.3 is selected to build).

We had this code:

        if [ "$pkg" = "gcc2" ] ; then
                make -C gcc all LANGUAGES="c"
                make -C gcc install LANGUAGES="c"
        else
                make all
                make install
        fi

Which I now changed to:

        if [ "$pkg" = "gcc2" ] ; then
                make -C gcc all LANGUAGES="c"
                make -C gcc install LANGUAGES="c"
        else
                make -C gcc all
                make -C gcc install
        fi

And this seems to work for the 3.3-prerelease. I still need to test if
this still works for the current stable 3.2.x branch ...

You can browse it online at:

http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/gcc3/gcc3.conf

>        paul

Sincerely,
  René Rebe
    - ROCK Linux stable release maintainer

--  
René Rebe - Europe/Germany/Berlin
  rene@rocklinux.org rene.rebe@gmx.net
http://www.rocklinux.org http://www.rocklinux.org/people/rene       
http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-12 16:59     ` Paul Koning
  2003-05-12 19:24       ` Rene Rebe
@ 2003-05-13 15:46       ` Michael Eager
  2003-05-13 16:07         ` Rene Rebe
  1 sibling, 1 reply; 14+ messages in thread
From: Michael Eager @ 2003-05-13 15:46 UTC (permalink / raw)
  To: Paul Koning; +Cc: rene.rebe, drow, gcc

Paul Koning wrote:
>>>>>>"Rene" == Rene Rebe <rene.rebe@gmx.net> writes:
> 
> 
>  Rene> Hi, On: Mon, 12 May 2003 10:22:38 -0400, Daniel Jacobowitz
>  Rene> <drow@mvista.com> wrote:
> 
>  Rene> [ ... error log ... ]
> 
>  >> > Any ideas?
>  >> 
>  >> You can't build target libraries until after you've built glibc.
> 
>  Rene> Well nice that the cross-build instructions change between
>  Rene> every major release (and sometimes between minors ...). What
>  Rene> are the current instructions?
> 
>  Rene> (Is it intentional that the GCC install instructions point to
>  Rene> the rather old "Version: 1.01, Last Updated December 3, 1999"
>  Rene> CrossGCC/FAQ ? Maybe some more recent info should be included
>  Rene> in the install document ...)
> 
> Indeed.  It would be even better if they actually worked.  I have
> never seen ones that work.  The closest I have come is procedures that
> result in a build process that aborts at some point, but gets far
> enough to produce a compiler that appears to function.

I'm both sympathetic and frustrated by this as well.

One consequence of not having documentation which is correct (or even
close) is that we don't find bugs in the build process.  It makes it
difficult to tell whether a problem building a cross-compiler is
(a) user error, (b) errors in the documentation, (c) unclear interactions
between the configure options, (d) interactions or incompatibilities between
components, or (e) errors in the implementation.

I'd like to see the CrossGCC FAQ actually be a list of Questions and
Answers, not a script for building a cross-compiler with one specific
set of options for one particular purpose.  IMO, we (the proverbial we,
that is) could likely mine the GCC mailing list to find the common
questions and the common answers.

As Daniel said, lack of time/experience/motivation is a factor.  I'm
reluctant to say that I'll take a stab at a FAQ, given that I have limited
time and every time I look at GCC configuration I feel that I'm being
sucked into a tar pit.  :-)


-- 
Michael Eager	 Eager Consulting     eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-13 15:46       ` Michael Eager
@ 2003-05-13 16:07         ` Rene Rebe
  2003-05-13 18:56           ` Michael Eager
  0 siblings, 1 reply; 14+ messages in thread
From: Rene Rebe @ 2003-05-13 16:07 UTC (permalink / raw)
  To: eager; +Cc: pkoning, drow, gcc, rock-linux

Hi,

On: Tue, 13 May 2003 08:46:45 -0700,
    Michael Eager <eager@eagercon.com> wrote:

> I'm both sympathetic and frustrated by this as well.
> 
> One consequence of not having documentation which is correct (or even
> close) is that we don't find bugs in the build process.  It makes it
> difficult to tell whether a problem building a cross-compiler is
> (a) user error, (b) errors in the documentation, (c) unclear interactions
> between the configure options, (d) interactions or incompatibilities between
> components, or (e) errors in the implementation.
> 
> I'd like to see the CrossGCC FAQ actually be a list of Questions and
> Answers, not a script for building a cross-compiler with one specific
> set of options for one particular purpose.  IMO, we (the proverbial we,
> that is) could likely mine the GCC mailing list to find the common
> questions and the common answers.
> 
> As Daniel said, lack of time/experience/motivation is a factor.  I'm
> reluctant to say that I'll take a stab at a FAQ, given that I have limited
> time and every time I look at GCC configuration I feel that I'm being
> sucked into a tar pit.  :-)

As I mentioned in an earlier mail I already found out the missing
glue, "-C gcc" for the "make all" and "make install".

As reference for cross-building you might take a look into:

http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/linux24-header/linux24-header.conf

http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/glibc23/glibc23.conf

http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/binutils/binutils.conf

http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/gcc3/gcc3.conf

Built in that order - the stage0 is used for cross-toolchain creation
- the rest is an normal build.

Comments and corrections are welcome ;-)

Sincerely,
  René Rebe
    - ROCK Linux stable release maintainer

--  
René Rebe - Europe/Germany/Berlin
  rene@rocklinux.org rene.rebe@gmx.net
http://www.rocklinux.org http://www.rocklinux.org/people/rene       
http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-13 16:07         ` Rene Rebe
@ 2003-05-13 18:56           ` Michael Eager
  2003-05-13 19:44             ` Rene Rebe
  0 siblings, 1 reply; 14+ messages in thread
From: Michael Eager @ 2003-05-13 18:56 UTC (permalink / raw)
  To: Rene Rebe; +Cc: pkoning, drow, gcc, rock-linux

Rene Rebe wrote:
> Hi,
> 
> On: Tue, 13 May 2003 08:46:45 -0700,
>     Michael Eager <eager@eagercon.com> wrote:
> 
> 
>>I'm both sympathetic and frustrated by this as well.
>>
>>One consequence of not having documentation which is correct (or even
>>close) is that we don't find bugs in the build process.  It makes it
>>difficult to tell whether a problem building a cross-compiler is
>>(a) user error, (b) errors in the documentation, (c) unclear interactions
>>between the configure options, (d) interactions or incompatibilities between
>>components, or (e) errors in the implementation.
>>
>>I'd like to see the CrossGCC FAQ actually be a list of Questions and
>>Answers, not a script for building a cross-compiler with one specific
>>set of options for one particular purpose.  IMO, we (the proverbial we,
>>that is) could likely mine the GCC mailing list to find the common
>>questions and the common answers.
>>
>>As Daniel said, lack of time/experience/motivation is a factor.  I'm
>>reluctant to say that I'll take a stab at a FAQ, given that I have limited
>>time and every time I look at GCC configuration I feel that I'm being
>>sucked into a tar pit.  :-)
> 
> 
> As I mentioned in an earlier mail I already found out the missing
> glue, "-C gcc" for the "make all" and "make install".
> 
> As reference for cross-building you might take a look into:
> 
> http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/linux24-header/linux24-header.conf
> 
> http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/glibc23/glibc23.conf
> 
> http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/binutils/binutils.conf
> 
> http://schillernet.dyndns.org/svn/rock-linux/rock-trunk/package/base/gcc3/gcc3.conf
> 
> Built in that order - the stage0 is used for cross-toolchain creation
> - the rest is an normal build.
> 
> Comments and corrections are welcome ;-)

Thanks, but you miss my point.

First off, "-C gcc" is not some important missing glue.  It isn't necessary
and I don't specify this when building a cross compiler.

Second, it looks like you build glibc using a previously created GCC.  Which
raises two issues:  (1) how do you create that version of gcc, and (2) is
this the same version of gcc that you build later?  This is the classic bootstrap
problem which appears overlooked.

There are a number of scripts which describe how someone has built
cross tools.  They don't tell how to do something different from
what the script does, nor do the distinguish between what is necessary,
what is ideosyncratic about an environment, and what "just happens to work".
Like your scripts, they are terse, with few comments and no explaination.

Your scripts are interesting and I'll take a look.  But shell scripts are not a FAQ.


-- 
Michael Eager	 Eager Consulting     eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-13 18:56           ` Michael Eager
@ 2003-05-13 19:44             ` Rene Rebe
  2003-05-13 20:34               ` Michael Eager
  0 siblings, 1 reply; 14+ messages in thread
From: Rene Rebe @ 2003-05-13 19:44 UTC (permalink / raw)
  To: eager; +Cc: pkoning, drow, gcc, rock-linux

Hi,

On: Tue, 13 May 2003 11:46:45 -0700,
    Michael Eager <eager@eagercon.com> wrote:

> Thanks, but you miss my point.

Nope - it was only intended as intermediate help or starting-point for
a real FAQ.

> First off, "-C gcc" is not some important missing glue.  It isn't necessary
> and I don't specify this when building a cross compiler.

For the way we setup the cross-build this is needed for gcc-2.95.x and
gcc-3.3.x but not for gcc-3.2.x ... :-(

> Second, it looks like you build glibc using a previously created GCC.  Which

Yes.

> raises two issues:
>  (1) how do you create that version of gcc, and (2) is
> this the same version of gcc that you build later?
>  This is the classic bootstrap
> problem which appears overlooked.

Could you elaborate on the problem that appears to be overlooked?

> There are a number of scripts which describe how someone has built
> cross tools.  They don't tell how to do something different from
> what the script does, nor do the distinguish between what is necessary,
> what is ideosyncratic about an environment, and what "just happens to work".
> Like your scripts, they are terse, with few comments and no explaination.
> 
> Your scripts are interesting and I'll take a look.  But shell scripts are not a FAQ.

Sure a real up-to-date FAQ is needed.

Sincerely,
  René Rebe
    - ROCK Linux stable release maintainer

--  
René Rebe - Europe/Germany/Berlin
  rene@rocklinux.org rene.rebe@gmx.net
http://www.rocklinux.org http://www.rocklinux.org/people/rene       
http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-13 19:44             ` Rene Rebe
@ 2003-05-13 20:34               ` Michael Eager
  2003-05-13 22:14                 ` Rene Rebe
  0 siblings, 1 reply; 14+ messages in thread
From: Michael Eager @ 2003-05-13 20:34 UTC (permalink / raw)
  To: Rene Rebe; +Cc: pkoning, drow, gcc, rock-linux

Rene Rebe wrote:
>> (1) how do you create that version of gcc, and (2) is
>>this the same version of gcc that you build later?
>> This is the classic bootstrap
>>problem which appears overlooked.
> 
> 
> Could you elaborate on the problem that appears to be overlooked?

I occasionally have a need to build a toolchain for a new architecture
or new variant.  After building binutils, the first step is to build
a bootstrap compiler.  Once I have that compiler, I can build glibc.
After building glibc, I build a complete gcc.  Both versions of gcc,
the bootstrap and the final, are built from the same sources.

In your scheme, you assume that the bootstrap has been done.  Also
the compiler you use to build glibc is potentially one revision back
from your final compiler.

When you are working with one architecture, and repeatedly building
for that architecture, then this not a problem.  But if you are building
tools for different architectures, or a new architecture, or you want to
make the entire process explicit, the bootstrap process should be explicit.

-- 
Michael Eager	 Eager Consulting     eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-13 20:34               ` Michael Eager
@ 2003-05-13 22:14                 ` Rene Rebe
  0 siblings, 0 replies; 14+ messages in thread
From: Rene Rebe @ 2003-05-13 22:14 UTC (permalink / raw)
  To: eager; +Cc: pkoning, drow, gcc, rock-linux

Hi,

On: Tue, 13 May 2003 13:34:39 -0700,
    Michael Eager <eager@eagercon.com> wrote:

> Rene Rebe wrote:

> > Could you elaborate on the problem that appears to be overlooked?
> 
> I occasionally have a need to build a toolchain for a new architecture
> or new variant.  After building binutils, the first step is to build
> a bootstrap compiler.  Once I have that compiler, I can build glibc.
> After building glibc, I build a complete gcc.  Both versions of gcc,
> the bootstrap and the final, are built from the same sources.

Yes we do so.

> In your scheme, you assume that the bootstrap has been done.  Also
> the compiler you use to build glibc is potentially one revision back
> from your final compiler.

Nope. Our stage-0 is only creating the bootstrap toolchain, after that
the glibc and other packages are build.

> When you are working with one architecture, and repeatedly building
> for that architecture, then this not a problem.  But if you are building
> tools for different architectures, or a new architecture, or you want to
> make the entire process explicit, the bootstrap process should be explicit.

Yes - but this is how we do ;-) I even currently configure an
regression tester to log and ensure those cross builds are working
correctly. Might also be useful for the gcc folks, when I also log cvs
HEAD checkouts.

Sincerely,
  René Rebe
    - ROCK Linux stable release maintainer

--  
René Rebe - Europe/Germany/Berlin
  rene@rocklinux.org rene.rebe@gmx.net
http://www.rocklinux.org http://www.rocklinux.org/people/rene       
http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: building a gcc-3.3-prerelease cross-compiler
  2003-05-12 19:24       ` Rene Rebe
@ 2003-11-05 14:12         ` Rene Rebe
  0 siblings, 0 replies; 14+ messages in thread
From: Rene Rebe @ 2003-11-05 14:12 UTC (permalink / raw)
  To: gcc

Hi,

in this thread I previously posted a link into our revision control
system. But since our basic layout changed a bit I just want to post
the new links as google reference because of so many 404-errors in my
apache log ... :

our gcc build script:

http://svn.rocklinux-consulting.de/rock-linux/trunk/package/base/gcc3/gcc3.conf

the other related scripts:

http://svn.rocklinux-consulting.de/rock-linux/trunk/package/base/linux24-header/linux24-header.conf

http://svn.rocklinux-consulting.de/rock-linux/trunk/package/base/binutils/binutils.conf

http://svn.rocklinux-consulting.de/rock-linux/trunk/package/base/glibc23/glibc23.conf

Sincerely yours,
  René Rebe
    - ROCK Linux stable release maintainer

--  
René Rebe - Europe/Germany/Berlin
  rene@rocklinux.org rene@rocklinux-consulting.de
http://www.rocklinux.org http://www.rocklinux-consulting.de
http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2003-11-05 14:08 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-12 12:00 building a gcc-3.3-prerelease cross-compiler Rene Rebe
2003-05-12 14:22 ` Daniel Jacobowitz
2003-05-12 16:51   ` Rene Rebe
2003-05-12 16:59     ` Paul Koning
2003-05-12 19:24       ` Rene Rebe
2003-11-05 14:12         ` Rene Rebe
2003-05-13 15:46       ` Michael Eager
2003-05-13 16:07         ` Rene Rebe
2003-05-13 18:56           ` Michael Eager
2003-05-13 19:44             ` Rene Rebe
2003-05-13 20:34               ` Michael Eager
2003-05-13 22:14                 ` Rene Rebe
2003-05-12 17:04     ` Joseph S. Myers
2003-05-12 17:13     ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).