public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Gcc 3.0.4 installed system
@ 2002-04-06 12:01 Geert Bevin
  2002-04-06 14:06 ` Bart Verwilst
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Geert Bevin @ 2002-04-06 12:01 UTC (permalink / raw
  To: gentoo-dev

Hi all,

I finally installed 1.0 from scratch and decided to try it out with gcc
3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
surprisingly little. I've fixed everything that needed fixing and sadly
some packages are backwards incompatible. For that reason and for the
ease of maintenance I've created a dedicated gcc 3 profile.

So, for those that want to try this out, just link the default-1.0-gcc3
profile instead of default-1.0 to /etc/make.profile. Note that this will
only work for installations from scratch and not for updates since
applications that link against libstdc++ v2 require the libraries of gcc
v2 and not gcc v3.

There are still some packages that don't compile such as galeon and
openjade, but these will be fixed in a matter of time since I need them
;-) Feel free to submit fixes too.

Best regards,

Geert Bevin
-- 
Geert Bevin             Uwyn
"Use what you need"     Lambermontlaan 148
http://www.uwyn.com     1030 Brussels
gbevin@uwyn.com         Tel & Fax +32 2 245 41 06



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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-06 12:01 [gentoo-dev] Gcc 3.0.4 installed system Geert Bevin
@ 2002-04-06 14:06 ` Bart Verwilst
  2002-04-06 18:18   ` Joe Oppegaard
  2002-04-07  3:29 ` Preston A. Elder
  2002-04-07 22:04 ` Spider
  2 siblings, 1 reply; 16+ messages in thread
From: Bart Verwilst @ 2002-04-06 14:06 UTC (permalink / raw
  To: gentoo-dev

Hmm..

Great that gentoo is now gcc3.x compliant :o)
But what are the advantages of using gcc 3.x over gcc 2.95.x?
Isn't gcc 3.x slower than 2.95?

Thanks, great work!

On Saturday 06 April 2002 14:01, Geert Bevin wrote:
|| Hi all,
||
|| I finally installed 1.0 from scratch and decided to try it out with gcc
|| 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
|| surprisingly little. I've fixed everything that needed fixing and sadly
|| some packages are backwards incompatible. For that reason and for the
|| ease of maintenance I've created a dedicated gcc 3 profile.
||
|| So, for those that want to try this out, just link the default-1.0-gcc3
|| profile instead of default-1.0 to /etc/make.profile. Note that this will
|| only work for installations from scratch and not for updates since
|| applications that link against libstdc++ v2 require the libraries of gcc
|| v2 and not gcc v3.
||
|| There are still some packages that don't compile such as galeon and
|| openjade, but these will be fixed in a matter of time since I need them
|| ;-) Feel free to submit fixes too.
||
|| Best regards,
||
|| Geert Bevin

-- 
Bart Verwilst
Gentoo Linux Developer, Desktop Team
Gent, Belgium


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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-06 14:06 ` Bart Verwilst
@ 2002-04-06 18:18   ` Joe Oppegaard
  2002-04-06 19:13     ` Michael Odell
  2002-04-06 22:43     ` Jared H. Hudson
  0 siblings, 2 replies; 16+ messages in thread
From: Joe Oppegaard @ 2002-04-06 18:18 UTC (permalink / raw
  To: gentoo-dev

On Sat, 6 Apr 2002, Bart Verwilst wrote:

> Hmm..
>
> Great that gentoo is now gcc3.x compliant :o)
> But what are the advantages of using gcc 3.x over gcc 2.95.x?
> Isn't gcc 3.x slower than 2.95?

One of the advantages of gcc 3.x is that it has special optimizations for
Athlon processors. Other then that, I'm not too familiar with gcc 3.x.


>
> Thanks, great work!
>
> On Saturday 06 April 2002 14:01, Geert Bevin wrote:
> || Hi all,
> ||
> || I finally installed 1.0 from scratch and decided to try it out with gcc
> || 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
> || surprisingly little. I've fixed everything that needed fixing and sadly
> || some packages are backwards incompatible. For that reason and for the
> || ease of maintenance I've created a dedicated gcc 3 profile.
> ||
> || So, for those that want to try this out, just link the default-1.0-gcc3
> || profile instead of default-1.0 to /etc/make.profile. Note that this will
> || only work for installations from scratch and not for updates since
> || applications that link against libstdc++ v2 require the libraries of gcc
> || v2 and not gcc v3.
> ||
> || There are still some packages that don't compile such as galeon and
> || openjade, but these will be fixed in a matter of time since I need them
> || ;-) Feel free to submit fixes too.
> ||
> || Best regards,
> ||
> || Geert Bevin
>
> --
> Bart Verwilst
> Gentoo Linux Developer, Desktop Team
> Gent, Belgium
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev
>

--
-Joe Oppegaard
http://joppegaard.com



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

* RE: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-06 18:18   ` Joe Oppegaard
@ 2002-04-06 19:13     ` Michael Odell
  2002-04-06 22:43     ` Jared H. Hudson
  1 sibling, 0 replies; 16+ messages in thread
From: Michael Odell @ 2002-04-06 19:13 UTC (permalink / raw
  To: gentoo-dev

Thanks Geert!  gcc 3.x is also required for compiling GNUstep, which I
had been hoping to try with Gentoo.  You've made it possible :)

Thanks,

Michael Odell

-----Original Message-----
From: gentoo-dev-admin@gentoo.org [mailto:gentoo-dev-admin@gentoo.org]
On Behalf Of Joe Oppegaard
Sent: Saturday, April 06, 2002 11:18 AM
To: gentoo-dev@gentoo.org
Subject: Re: [gentoo-dev] Gcc 3.0.4 installed system

On Sat, 6 Apr 2002, Bart Verwilst wrote:

> Hmm..
>
> Great that gentoo is now gcc3.x compliant :o)
> But what are the advantages of using gcc 3.x over gcc 2.95.x?
> Isn't gcc 3.x slower than 2.95?

One of the advantages of gcc 3.x is that it has special optimizations
for
Athlon processors. Other then that, I'm not too familiar with gcc 3.x.


>
> Thanks, great work!
>
> On Saturday 06 April 2002 14:01, Geert Bevin wrote:
> || Hi all,
> ||
> || I finally installed 1.0 from scratch and decided to try it out with
gcc
> || 3.0.4 instead of 2.95.3. Along the way I encountered some problems,
but
> || surprisingly little. I've fixed everything that needed fixing and
sadly
> || some packages are backwards incompatible. For that reason and for
the
> || ease of maintenance I've created a dedicated gcc 3 profile.
> ||
> || So, for those that want to try this out, just link the
default-1.0-gcc3
> || profile instead of default-1.0 to /etc/make.profile. Note that this
will
> || only work for installations from scratch and not for updates since
> || applications that link against libstdc++ v2 require the libraries
of gcc
> || v2 and not gcc v3.
> ||
> || There are still some packages that don't compile such as galeon and
> || openjade, but these will be fixed in a matter of time since I need
them
> || ;-) Feel free to submit fixes too.
> ||
> || Best regards,
> ||
> || Geert Bevin
>
> --
> Bart Verwilst
> Gentoo Linux Developer, Desktop Team
> Gent, Belgium
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev
>

--
-Joe Oppegaard
http://joppegaard.com

_______________________________________________
gentoo-dev mailing list
gentoo-dev@gentoo.org
http://lists.gentoo.org/mailman/listinfo/gentoo-dev



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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-06 18:18   ` Joe Oppegaard
  2002-04-06 19:13     ` Michael Odell
@ 2002-04-06 22:43     ` Jared H. Hudson
  1 sibling, 0 replies; 16+ messages in thread
From: Jared H. Hudson @ 2002-04-06 22:43 UTC (permalink / raw
  To: gentoo-dev

And Pentium 4 optimizations.

Joe Oppegaard wrote:
> On Sat, 6 Apr 2002, Bart Verwilst wrote:
> 
> 
>>Hmm..
>>
>>Great that gentoo is now gcc3.x compliant :o)
>>But what are the advantages of using gcc 3.x over gcc 2.95.x?
>>Isn't gcc 3.x slower than 2.95?
> 
> 
> One of the advantages of gcc 3.x is that it has special optimizations for
> Athlon processors. Other then that, I'm not too familiar with gcc 3.x.
> 
> 
> 
>>Thanks, great work!
>>
>>On Saturday 06 April 2002 14:01, Geert Bevin wrote:
>>|| Hi all,
>>||
>>|| I finally installed 1.0 from scratch and decided to try it out with gcc
>>|| 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
>>|| surprisingly little. I've fixed everything that needed fixing and sadly
>>|| some packages are backwards incompatible. For that reason and for the
>>|| ease of maintenance I've created a dedicated gcc 3 profile.
>>||
>>|| So, for those that want to try this out, just link the default-1.0-gcc3
>>|| profile instead of default-1.0 to /etc/make.profile. Note that this will
>>|| only work for installations from scratch and not for updates since
>>|| applications that link against libstdc++ v2 require the libraries of gcc
>>|| v2 and not gcc v3.
>>||
>>|| There are still some packages that don't compile such as galeon and
>>|| openjade, but these will be fixed in a matter of time since I need them
>>|| ;-) Feel free to submit fixes too.
>>||
>>|| Best regards,
>>||
>>|| Geert Bevin
>>
>>--
>>Bart Verwilst
>>Gentoo Linux Developer, Desktop Team
>>Gent, Belgium
>>_______________________________________________
>>gentoo-dev mailing list
>>gentoo-dev@gentoo.org
>>http://lists.gentoo.org/mailman/listinfo/gentoo-dev
>>
> 
> 
> --
> -Joe Oppegaard
> http://joppegaard.com
> 
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev




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

* [gentoo-dev] Gcc 3.0.4 installed system
@ 2002-04-07  3:10 michael
  0 siblings, 0 replies; 16+ messages in thread
From: michael @ 2002-04-07  3:10 UTC (permalink / raw
  To: gentoo-dev

when the system is fully compatible with gcc 3.*
but it up on announce so i know when i can reinstall :)



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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-06 12:01 [gentoo-dev] Gcc 3.0.4 installed system Geert Bevin
  2002-04-06 14:06 ` Bart Verwilst
@ 2002-04-07  3:29 ` Preston A. Elder
  2002-04-07 10:02   ` Bart Verwilst
  2002-04-07 10:14   ` Geert Bevin
  2002-04-07 22:04 ` Spider
  2 siblings, 2 replies; 16+ messages in thread
From: Preston A. Elder @ 2002-04-07  3:29 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2737 bytes --]

Personally, I'd be very interested to know how you did this 'from
scratch'.

I myself have done this from the post-bootstrap (but pre emerge system)
stage on, but I cant bootstrap with 3.0.x, why?

Well, the image the ISO installs has many applications on it, not linked
statically (eg. tar, etc) -- compiling gcc3.0.4 works fine, but as soon
as it then compiles glibc 2.2.5 and installs it, nothing else works.

The utilities on the install image look for glibc 2.2.5 compiled with
gcc 2.95.x.  So until there is an install image that has statically
linked binaries on it, I dont see how a bootstrap can be achieved using
3.0.x compilers.

I too, however, have installed a 3.0.x based system.  I did the
bootstrap on 2.95.3, then first thing after bootstrap, I merged gcc
3.0.4, and then did my emerge system.  As Geert said, a few problems
along the way, but not many.  I too made patches for all the problems I
found, I submitted them to Geert.  The patches I made are ALL backward
compatable to 2.95.3 (I believe, I've not tested this).  But then, I
could also have compiled a different package set than he did.


On Sat, 2002-04-06 at 07:01, Geert Bevin wrote:
> Hi all,
> 
> I finally installed 1.0 from scratch and decided to try it out with gcc
> 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
> surprisingly little. I've fixed everything that needed fixing and sadly
> some packages are backwards incompatible. For that reason and for the
> ease of maintenance I've created a dedicated gcc 3 profile.
> 
> So, for those that want to try this out, just link the default-1.0-gcc3
> profile instead of default-1.0 to /etc/make.profile. Note that this will
> only work for installations from scratch and not for updates since
> applications that link against libstdc++ v2 require the libraries of gcc
> v2 and not gcc v3.
> 
> There are still some packages that don't compile such as galeon and
> openjade, but these will be fixed in a matter of time since I need them
> ;-) Feel free to submit fixes too.
> 
> Best regards,
> 
> Geert Bevin
> -- 
> Geert Bevin             Uwyn
> "Use what you need"     Lambermontlaan 148
> http://www.uwyn.com     1030 Brussels
> gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
> 
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev

Thanks,

-- 
PreZ
Systems Administrator
GOTH.NET

Goth Code '98:   tSKeba5qaSabsaaaGbaa75KAASWGuajmsvbieqcL4BaaLb3F4
                 nId5mefqmDjmmgm#haxthgzpj4GiysNkycSRGHabiabOkauNSW

GOTH.NET - http://www.goth.net
Free online resource for the gothic community.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 232 bytes --]

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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-07  3:29 ` Preston A. Elder
@ 2002-04-07 10:02   ` Bart Verwilst
  2002-04-07 10:49     ` Preston A. Elder
  2002-04-07 10:14   ` Geert Bevin
  1 sibling, 1 reply; 16+ messages in thread
From: Bart Verwilst @ 2002-04-07 10:02 UTC (permalink / raw
  To: gentoo-dev

Howdy

Yeah, i think a gentoo-1.0-gcc3.x-ix86.iso would be great!
Ofcourse i'm not the person to make this, not quite my area :o)

And my question still remains, is gcc 3.x slower than gcc 2.95.x? :o)

See ya!

On Sunday 07 April 2002 05:29, Preston A. Elder wrote:
|| Personally, I'd be very interested to know how you did this 'from
|| scratch'.
||
|| I myself have done this from the post-bootstrap (but pre emerge system)
|| stage on, but I cant bootstrap with 3.0.x, why?
||
|| Well, the image the ISO installs has many applications on it, not linked
|| statically (eg. tar, etc) -- compiling gcc3.0.4 works fine, but as soon
|| as it then compiles glibc 2.2.5 and installs it, nothing else works.
||
|| The utilities on the install image look for glibc 2.2.5 compiled with
|| gcc 2.95.x.  So until there is an install image that has statically
|| linked binaries on it, I dont see how a bootstrap can be achieved using
|| 3.0.x compilers.
||
|| I too, however, have installed a 3.0.x based system.  I did the
|| bootstrap on 2.95.3, then first thing after bootstrap, I merged gcc
|| 3.0.4, and then did my emerge system.  As Geert said, a few problems
|| along the way, but not many.  I too made patches for all the problems I
|| found, I submitted them to Geert.  The patches I made are ALL backward
|| compatable to 2.95.3 (I believe, I've not tested this).  But then, I
|| could also have compiled a different package set than he did.
||
|| On Sat, 2002-04-06 at 07:01, Geert Bevin wrote:
|| > Hi all,
|| >
|| > I finally installed 1.0 from scratch and decided to try it out with gcc
|| > 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
|| > surprisingly little. I've fixed everything that needed fixing and sadly
|| > some packages are backwards incompatible. For that reason and for the
|| > ease of maintenance I've created a dedicated gcc 3 profile.
|| >
|| > So, for those that want to try this out, just link the default-1.0-gcc3
|| > profile instead of default-1.0 to /etc/make.profile. Note that this will
|| > only work for installations from scratch and not for updates since
|| > applications that link against libstdc++ v2 require the libraries of gcc
|| > v2 and not gcc v3.
|| >
|| > There are still some packages that don't compile such as galeon and
|| > openjade, but these will be fixed in a matter of time since I need them
|| > ;-) Feel free to submit fixes too.
|| >
|| > Best regards,
|| >
|| > Geert Bevin
|| > --
|| > Geert Bevin             Uwyn
|| > "Use what you need"     Lambermontlaan 148
|| > http://www.uwyn.com     1030 Brussels
|| > gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
|| >
|| > _______________________________________________
|| > gentoo-dev mailing list
|| > gentoo-dev@gentoo.org
|| > http://lists.gentoo.org/mailman/listinfo/gentoo-dev
||
|| Thanks,

-- 
Bart Verwilst
Gentoo Linux Developer, Desktop Team
Gent, Belgium


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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-07  3:29 ` Preston A. Elder
  2002-04-07 10:02   ` Bart Verwilst
@ 2002-04-07 10:14   ` Geert Bevin
  2002-04-07 10:40     ` Preston A. Elder
  1 sibling, 1 reply; 16+ messages in thread
From: Geert Bevin @ 2002-04-07 10:14 UTC (permalink / raw
  To: gentoo-dev

Changing the profile in /etc/make.profile to default-1.0-gcc3 should
make you bootstrap against gcc3 instead.

On Sun, 2002-04-07 at 05:29, Preston A. Elder wrote:
> Personally, I'd be very interested to know how you did this 'from
> scratch'.
> 
> I myself have done this from the post-bootstrap (but pre emerge system)
> stage on, but I cant bootstrap with 3.0.x, why?
> 
> Well, the image the ISO installs has many applications on it, not linked
> statically (eg. tar, etc) -- compiling gcc3.0.4 works fine, but as soon
> as it then compiles glibc 2.2.5 and installs it, nothing else works.
> 
> The utilities on the install image look for glibc 2.2.5 compiled with
> gcc 2.95.x.  So until there is an install image that has statically
> linked binaries on it, I dont see how a bootstrap can be achieved using
> 3.0.x compilers.
> 
> I too, however, have installed a 3.0.x based system.  I did the
> bootstrap on 2.95.3, then first thing after bootstrap, I merged gcc
> 3.0.4, and then did my emerge system.  As Geert said, a few problems
> along the way, but not many.  I too made patches for all the problems I
> found, I submitted them to Geert.  The patches I made are ALL backward
> compatable to 2.95.3 (I believe, I've not tested this).  But then, I
> could also have compiled a different package set than he did.
> 
> 
> On Sat, 2002-04-06 at 07:01, Geert Bevin wrote:
> > Hi all,
> > 
> > I finally installed 1.0 from scratch and decided to try it out with gcc
> > 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
> > surprisingly little. I've fixed everything that needed fixing and sadly
> > some packages are backwards incompatible. For that reason and for the
> > ease of maintenance I've created a dedicated gcc 3 profile.
> > 
> > So, for those that want to try this out, just link the default-1.0-gcc3
> > profile instead of default-1.0 to /etc/make.profile. Note that this will
> > only work for installations from scratch and not for updates since
> > applications that link against libstdc++ v2 require the libraries of gcc
> > v2 and not gcc v3.
> > 
> > There are still some packages that don't compile such as galeon and
> > openjade, but these will be fixed in a matter of time since I need them
> > ;-) Feel free to submit fixes too.
> > 
> > Best regards,
> > 
> > Geert Bevin
> > -- 
> > Geert Bevin             Uwyn
> > "Use what you need"     Lambermontlaan 148
> > http://www.uwyn.com     1030 Brussels
> > gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
> > 
> > _______________________________________________
> > gentoo-dev mailing list
> > gentoo-dev@gentoo.org
> > http://lists.gentoo.org/mailman/listinfo/gentoo-dev
> 
> Thanks,
> 
> -- 
> PreZ
> Systems Administrator
> GOTH.NET
> 
> Goth Code '98:   tSKeba5qaSabsaaaGbaa75KAASWGuajmsvbieqcL4BaaLb3F4
>                  nId5mefqmDjmmgm#haxthgzpj4GiysNkycSRGHabiabOkauNSW
> 
> GOTH.NET - http://www.goth.net
> Free online resource for the gothic community.
-- 
Geert Bevin             Uwyn
"Use what you need"     Lambermontlaan 148
http://www.uwyn.com     1030 Brussels
gbevin@uwyn.com         Tel & Fax +32 2 245 41 06



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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-07 10:14   ` Geert Bevin
@ 2002-04-07 10:40     ` Preston A. Elder
  2002-04-07 10:57       ` Geert Bevin
  2002-04-07 12:38       ` Christian Hergl
  0 siblings, 2 replies; 16+ messages in thread
From: Preston A. Elder @ 2002-04-07 10:40 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 6987 bytes --]

I'm sure it does ...

But unless I'm missing something here, changing the profile does NOTHING
to change the utilities (read: tar, bzip2, cp, mv, ls, etc) that are
installed WITH the system.

Read my email again carefully.  I manually made my own
'default-1.0-gcc3' profile by changing the packages file to use gcc3
instead of 2.95 and then bootstrapped with it -- and it worked fine
right up until it installed glibc.

Just incase your not a coder.  GLIBC supplies both C and C++ libraries
and symbols for other programs to use.  All C++ symbols are 'mangled',
which is a method the compiler uses to differentiate different functions
with the same name but different types (read up on C++ function
overloading and name mangling).

3.0 changed the mangling scheme used to mangle C++ names from what was
used with 2.x -- which means, quite simply, if you have an application
thats been compiled against libraries built with gcc 2.x, and then you
compile the libraries with 3.x, the application will cease to work,
because it will not be able to find the symbols it needs to run. 
Usually, this will result in a core dump.  This only affects programs
written in C++.

This is exactly what happens with utilities such as tar, which is
written in C++ (which surprised me).  Which is why, your
default-1.0-gcc3 profile will *NOT* enable someone to bootstrap with gcc
3.0, unless you happen to have a stage1 ISO that has statically linked
binaries in it (theoretically, if you have statically linked binaries on
the whole system, you dont even NEED a /lib or /usr/lib directory,
because its all statically linked).

This was the point I was trying to make.  Dont get me wrong, I'm glad
the gcc3 profile is there, and I'm using it, because I use gcc3
exclusively -- however gcc3 (for now), is only available as a
POST-bootstrap (ie. stage2) compilation, until we get a 1.0 ISO with
statically linked binaries -- or binaries that are still dynamically
linked, but all compiled with gcc3.0 against a glibc compiled with
gcc3.0.  Which brings in the chicken and the egg problem.

This is also why you will have to lock people into a specific glibc
version in your gcc3 profile (which I've noticed you dont do right
now).  Say someone bootstraps as normal, then installs gcc3, then
switches to your gcc3 profile, and continues to build the system.  If,
at some later point, a new revision or version of glibc comes out, and
is put into the portage tree, and the user then does a world upgrade,
they will attempt to re-compile glibc.  It will compile, but as soon as
it installs, a good proportion of the rest of their system will stop
working for exactly the reason I described.  I've manually locked my
glibc version because of this fact, because I know I cant re-compile it
with gcc3 without breaking my system.

If I get time, I'll sit down and think about how to actually create a
stage1 (the thing you tar -xvbjf onto your hard disk) system that is
totally gcc3 based, or see if I can create a stage1 with all statically
linked binaries in it.  For now, thats not high on my priority list.

On Sun, 2002-04-07 at 06:14, Geert Bevin wrote:
> Changing the profile in /etc/make.profile to default-1.0-gcc3 should
> make you bootstrap against gcc3 instead.
> 
> On Sun, 2002-04-07 at 05:29, Preston A. Elder wrote:
> > Personally, I'd be very interested to know how you did this 'from
> > scratch'.
> > 
> > I myself have done this from the post-bootstrap (but pre emerge system)
> > stage on, but I cant bootstrap with 3.0.x, why?
> > 
> > Well, the image the ISO installs has many applications on it, not linked
> > statically (eg. tar, etc) -- compiling gcc3.0.4 works fine, but as soon
> > as it then compiles glibc 2.2.5 and installs it, nothing else works.
> > 
> > The utilities on the install image look for glibc 2.2.5 compiled with
> > gcc 2.95.x.  So until there is an install image that has statically
> > linked binaries on it, I dont see how a bootstrap can be achieved using
> > 3.0.x compilers.
> > 
> > I too, however, have installed a 3.0.x based system.  I did the
> > bootstrap on 2.95.3, then first thing after bootstrap, I merged gcc
> > 3.0.4, and then did my emerge system.  As Geert said, a few problems
> > along the way, but not many.  I too made patches for all the problems I
> > found, I submitted them to Geert.  The patches I made are ALL backward
> > compatable to 2.95.3 (I believe, I've not tested this).  But then, I
> > could also have compiled a different package set than he did.
> > 
> > 
> > On Sat, 2002-04-06 at 07:01, Geert Bevin wrote:
> > > Hi all,
> > > 
> > > I finally installed 1.0 from scratch and decided to try it out with gcc
> > > 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
> > > surprisingly little. I've fixed everything that needed fixing and sadly
> > > some packages are backwards incompatible. For that reason and for the
> > > ease of maintenance I've created a dedicated gcc 3 profile.
> > > 
> > > So, for those that want to try this out, just link the default-1.0-gcc3
> > > profile instead of default-1.0 to /etc/make.profile. Note that this will
> > > only work for installations from scratch and not for updates since
> > > applications that link against libstdc++ v2 require the libraries of gcc
> > > v2 and not gcc v3.
> > > 
> > > There are still some packages that don't compile such as galeon and
> > > openjade, but these will be fixed in a matter of time since I need them
> > > ;-) Feel free to submit fixes too.
> > > 
> > > Best regards,
> > > 
> > > Geert Bevin
> > > -- 
> > > Geert Bevin             Uwyn
> > > "Use what you need"     Lambermontlaan 148
> > > http://www.uwyn.com     1030 Brussels
> > > gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
> > > 
> > > _______________________________________________
> > > gentoo-dev mailing list
> > > gentoo-dev@gentoo.org
> > > http://lists.gentoo.org/mailman/listinfo/gentoo-dev
> > 
> > Thanks,
> > 
> > -- 
> > PreZ
> > Systems Administrator
> > GOTH.NET
> > 
> > Goth Code '98:   tSKeba5qaSabsaaaGbaa75KAASWGuajmsvbieqcL4BaaLb3F4
> >                  nId5mefqmDjmmgm#haxthgzpj4GiysNkycSRGHabiabOkauNSW
> > 
> > GOTH.NET - http://www.goth.net
> > Free online resource for the gothic community.
> -- 
> Geert Bevin             Uwyn
> "Use what you need"     Lambermontlaan 148
> http://www.uwyn.com     1030 Brussels
> gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
> 
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev
-- 
PreZ
Systems Administrator
GOTH.NET

Goth Code '98:   tSKeba5qaSabsaaaGbaa75KAASWGuajmsvbieqcL4BaaLb3F4
                 nId5mefqmDjmmgm#haxthgzpj4GiysNkycSRGHabiabOkauNSW

GOTH.NET - http://www.goth.net
Free online resource for the gothic community.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 232 bytes --]

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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-07 10:02   ` Bart Verwilst
@ 2002-04-07 10:49     ` Preston A. Elder
  2002-04-07 18:18       ` Stacey Keast
  0 siblings, 1 reply; 16+ messages in thread
From: Preston A. Elder @ 2002-04-07 10:49 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 5003 bytes --]

GCC 3.0 is more standards adhering.

GCC 2.95.3 is faster (to compile) because they dont enforce certain
coding standard (eg. ANSI, etc).  There are many things you can get away
with in GCC 2.95 that 3.0 wont let you get away with.

Thats what a lot of the extra compile time is doing in 3.0 -- ensuring
that your adhering to the standards for C/C++ -- which usually saves
your arse at debugging time.

I believe 3.0 also made a bunch of advances in optimization (including
things such as architecture specific optimizations (ala. -march=athlon),
so its working harder to make your code faster.

Finally, GCC 3.0 changed alot of things, such as the C++ ABI -- and now
they have to support both the old and new ABI's (they did this for many
reasons, and apparently, will do it again for 3.1).  Because of this,
any function reference you make, it must figure out what the old and new
version of this function are, so it can look for it in various libraries
it includes -- at link time, the version that it DIDN'T need after all
is thrown away, and it uses the version it did (which is why you can
link against a version of glibc compiled with either gcc 2.95.x or
3.0.x).

At least, this is why I THINK GCC 3.0 is slower at compiling -- as for
runtime speed, there should be little difference, and if GCC did their
job right, binaries compiled with 3.0 should actually be faster.

On Sun, 2002-04-07 at 06:02, Bart Verwilst wrote:
> Howdy
> 
> Yeah, i think a gentoo-1.0-gcc3.x-ix86.iso would be great!
> Ofcourse i'm not the person to make this, not quite my area :o)
> 
> And my question still remains, is gcc 3.x slower than gcc 2.95.x? :o)
> 
> See ya!
> 
> On Sunday 07 April 2002 05:29, Preston A. Elder wrote:
> || Personally, I'd be very interested to know how you did this 'from
> || scratch'.
> ||
> || I myself have done this from the post-bootstrap (but pre emerge system)
> || stage on, but I cant bootstrap with 3.0.x, why?
> ||
> || Well, the image the ISO installs has many applications on it, not linked
> || statically (eg. tar, etc) -- compiling gcc3.0.4 works fine, but as soon
> || as it then compiles glibc 2.2.5 and installs it, nothing else works.
> ||
> || The utilities on the install image look for glibc 2.2.5 compiled with
> || gcc 2.95.x.  So until there is an install image that has statically
> || linked binaries on it, I dont see how a bootstrap can be achieved using
> || 3.0.x compilers.
> ||
> || I too, however, have installed a 3.0.x based system.  I did the
> || bootstrap on 2.95.3, then first thing after bootstrap, I merged gcc
> || 3.0.4, and then did my emerge system.  As Geert said, a few problems
> || along the way, but not many.  I too made patches for all the problems I
> || found, I submitted them to Geert.  The patches I made are ALL backward
> || compatable to 2.95.3 (I believe, I've not tested this).  But then, I
> || could also have compiled a different package set than he did.
> ||
> || On Sat, 2002-04-06 at 07:01, Geert Bevin wrote:
> || > Hi all,
> || >
> || > I finally installed 1.0 from scratch and decided to try it out with gcc
> || > 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
> || > surprisingly little. I've fixed everything that needed fixing and sadly
> || > some packages are backwards incompatible. For that reason and for the
> || > ease of maintenance I've created a dedicated gcc 3 profile.
> || >
> || > So, for those that want to try this out, just link the default-1.0-gcc3
> || > profile instead of default-1.0 to /etc/make.profile. Note that this will
> || > only work for installations from scratch and not for updates since
> || > applications that link against libstdc++ v2 require the libraries of gcc
> || > v2 and not gcc v3.
> || >
> || > There are still some packages that don't compile such as galeon and
> || > openjade, but these will be fixed in a matter of time since I need them
> || > ;-) Feel free to submit fixes too.
> || >
> || > Best regards,
> || >
> || > Geert Bevin
> || > --
> || > Geert Bevin             Uwyn
> || > "Use what you need"     Lambermontlaan 148
> || > http://www.uwyn.com     1030 Brussels
> || > gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
> || >
> || > _______________________________________________
> || > gentoo-dev mailing list
> || > gentoo-dev@gentoo.org
> || > http://lists.gentoo.org/mailman/listinfo/gentoo-dev
> ||
> || Thanks,
> 
> -- 
> Bart Verwilst
> Gentoo Linux Developer, Desktop Team
> Gent, Belgium
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev
-- 
PreZ
Systems Administrator
GOTH.NET

Goth Code '98:   tSKeba5qaSabsaaaGbaa75KAASWGuajmsvbieqcL4BaaLb3F4
                 nId5mefqmDjmmgm#haxthgzpj4GiysNkycSRGHabiabOkauNSW

GOTH.NET - http://www.goth.net
Free online resource for the gothic community.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 232 bytes --]

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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-07 10:40     ` Preston A. Elder
@ 2002-04-07 10:57       ` Geert Bevin
  2002-04-07 12:38       ` Christian Hergl
  1 sibling, 0 replies; 16+ messages in thread
From: Geert Bevin @ 2002-04-07 10:57 UTC (permalink / raw
  To: gentoo-dev

Bootstrap gives you baselayout, binutils, gcc, glibc and gettext
compiled with gcc3. Everything (including these utilities you talk
about) else is compiled again when you do 'emerge system'. The only
thing I did afterwards is 'ebuild
/var/db/pkg/sys-devel/gcc-2.95.3-r5/gcc-2.95.3-r5.ebuild unmerge' to
ensure that it's not present at all on the system anymore.
The system I have running has no libraries of gcc 2.95.3 installed and
everything is running fine and has been compiled with gcc3. Remember
that is what stage1 -> stage2 -> stage3 really is for.
Sure a stage1 that has been prepared with gcc3 would be cleaner and it's
not that difficult to do. However as long as gcc3 isn't the default
gentoo compiler, I don't see much use for it.

On Sun, 2002-04-07 at 12:40, Preston A. Elder wrote:
> I'm sure it does ...
> 
> But unless I'm missing something here, changing the profile does NOTHING
> to change the utilities (read: tar, bzip2, cp, mv, ls, etc) that are
> installed WITH the system.
> 
> Read my email again carefully.  I manually made my own
> 'default-1.0-gcc3' profile by changing the packages file to use gcc3
> instead of 2.95 and then bootstrapped with it -- and it worked fine
> right up until it installed glibc.
> 
> Just incase your not a coder.  GLIBC supplies both C and C++ libraries
> and symbols for other programs to use.  All C++ symbols are 'mangled',
> which is a method the compiler uses to differentiate different functions
> with the same name but different types (read up on C++ function
> overloading and name mangling).
> 
> 3.0 changed the mangling scheme used to mangle C++ names from what was
> used with 2.x -- which means, quite simply, if you have an application
> thats been compiled against libraries built with gcc 2.x, and then you
> compile the libraries with 3.x, the application will cease to work,
> because it will not be able to find the symbols it needs to run. 
> Usually, this will result in a core dump.  This only affects programs
> written in C++.
> 
> This is exactly what happens with utilities such as tar, which is
> written in C++ (which surprised me).  Which is why, your
> default-1.0-gcc3 profile will *NOT* enable someone to bootstrap with gcc
> 3.0, unless you happen to have a stage1 ISO that has statically linked
> binaries in it (theoretically, if you have statically linked binaries on
> the whole system, you dont even NEED a /lib or /usr/lib directory,
> because its all statically linked).
> 
> This was the point I was trying to make.  Dont get me wrong, I'm glad
> the gcc3 profile is there, and I'm using it, because I use gcc3
> exclusively -- however gcc3 (for now), is only available as a
> POST-bootstrap (ie. stage2) compilation, until we get a 1.0 ISO with
> statically linked binaries -- or binaries that are still dynamically
> linked, but all compiled with gcc3.0 against a glibc compiled with
> gcc3.0.  Which brings in the chicken and the egg problem.
> 
> This is also why you will have to lock people into a specific glibc
> version in your gcc3 profile (which I've noticed you dont do right
> now).  Say someone bootstraps as normal, then installs gcc3, then
> switches to your gcc3 profile, and continues to build the system.  If,
> at some later point, a new revision or version of glibc comes out, and
> is put into the portage tree, and the user then does a world upgrade,
> they will attempt to re-compile glibc.  It will compile, but as soon as
> it installs, a good proportion of the rest of their system will stop
> working for exactly the reason I described.  I've manually locked my
> glibc version because of this fact, because I know I cant re-compile it
> with gcc3 without breaking my system.
> 
> If I get time, I'll sit down and think about how to actually create a
> stage1 (the thing you tar -xvbjf onto your hard disk) system that is
> totally gcc3 based, or see if I can create a stage1 with all statically
> linked binaries in it.  For now, thats not high on my priority list.
> 
> On Sun, 2002-04-07 at 06:14, Geert Bevin wrote:
> > Changing the profile in /etc/make.profile to default-1.0-gcc3 should
> > make you bootstrap against gcc3 instead.
> > 
> > On Sun, 2002-04-07 at 05:29, Preston A. Elder wrote:
> > > Personally, I'd be very interested to know how you did this 'from
> > > scratch'.
> > > 
> > > I myself have done this from the post-bootstrap (but pre emerge system)
> > > stage on, but I cant bootstrap with 3.0.x, why?
> > > 
> > > Well, the image the ISO installs has many applications on it, not linked
> > > statically (eg. tar, etc) -- compiling gcc3.0.4 works fine, but as soon
> > > as it then compiles glibc 2.2.5 and installs it, nothing else works.
> > > 
> > > The utilities on the install image look for glibc 2.2.5 compiled with
> > > gcc 2.95.x.  So until there is an install image that has statically
> > > linked binaries on it, I dont see how a bootstrap can be achieved using
> > > 3.0.x compilers.
> > > 
> > > I too, however, have installed a 3.0.x based system.  I did the
> > > bootstrap on 2.95.3, then first thing after bootstrap, I merged gcc
> > > 3.0.4, and then did my emerge system.  As Geert said, a few problems
> > > along the way, but not many.  I too made patches for all the problems I
> > > found, I submitted them to Geert.  The patches I made are ALL backward
> > > compatable to 2.95.3 (I believe, I've not tested this).  But then, I
> > > could also have compiled a different package set than he did.
> > > 
> > > 
> > > On Sat, 2002-04-06 at 07:01, Geert Bevin wrote:
> > > > Hi all,
> > > > 
> > > > I finally installed 1.0 from scratch and decided to try it out with gcc
> > > > 3.0.4 instead of 2.95.3. Along the way I encountered some problems, but
> > > > surprisingly little. I've fixed everything that needed fixing and sadly
> > > > some packages are backwards incompatible. For that reason and for the
> > > > ease of maintenance I've created a dedicated gcc 3 profile.
> > > > 
> > > > So, for those that want to try this out, just link the default-1.0-gcc3
> > > > profile instead of default-1.0 to /etc/make.profile. Note that this will
> > > > only work for installations from scratch and not for updates since
> > > > applications that link against libstdc++ v2 require the libraries of gcc
> > > > v2 and not gcc v3.
> > > > 
> > > > There are still some packages that don't compile such as galeon and
> > > > openjade, but these will be fixed in a matter of time since I need them
> > > > ;-) Feel free to submit fixes too.
> > > > 
> > > > Best regards,
> > > > 
> > > > Geert Bevin
> > > > -- 
> > > > Geert Bevin             Uwyn
> > > > "Use what you need"     Lambermontlaan 148
> > > > http://www.uwyn.com     1030 Brussels
> > > > gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
> > > > 
> > > > _______________________________________________
> > > > gentoo-dev mailing list
> > > > gentoo-dev@gentoo.org
> > > > http://lists.gentoo.org/mailman/listinfo/gentoo-dev
> > > 
> > > Thanks,
> > > 
> > > -- 
> > > PreZ
> > > Systems Administrator
> > > GOTH.NET
> > > 
> > > Goth Code '98:   tSKeba5qaSabsaaaGbaa75KAASWGuajmsvbieqcL4BaaLb3F4
> > >                  nId5mefqmDjmmgm#haxthgzpj4GiysNkycSRGHabiabOkauNSW
> > > 
> > > GOTH.NET - http://www.goth.net
> > > Free online resource for the gothic community.
> > -- 
> > Geert Bevin             Uwyn
> > "Use what you need"     Lambermontlaan 148
> > http://www.uwyn.com     1030 Brussels
> > gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
> > 
> > _______________________________________________
> > gentoo-dev mailing list
> > gentoo-dev@gentoo.org
> > http://lists.gentoo.org/mailman/listinfo/gentoo-dev
> -- 
> PreZ
> Systems Administrator
> GOTH.NET
> 
> Goth Code '98:   tSKeba5qaSabsaaaGbaa75KAASWGuajmsvbieqcL4BaaLb3F4
>                  nId5mefqmDjmmgm#haxthgzpj4GiysNkycSRGHabiabOkauNSW
> 
> GOTH.NET - http://www.goth.net
> Free online resource for the gothic community.
-- 
Geert Bevin             Uwyn
"Use what you need"     Lambermontlaan 148
http://www.uwyn.com     1030 Brussels
gbevin@uwyn.com         Tel & Fax +32 2 245 41 06



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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-07 10:40     ` Preston A. Elder
  2002-04-07 10:57       ` Geert Bevin
@ 2002-04-07 12:38       ` Christian Hergl
  2002-04-07 12:50         ` Geert Bevin
  1 sibling, 1 reply; 16+ messages in thread
From: Christian Hergl @ 2002-04-07 12:38 UTC (permalink / raw
  To: gentoo-dev, prez

Hello all, Hello Preston,

just adding my 2 cents. I'm in the process to emerge a system based on 
the gcc 3.0.4 as discussed earlier in this threat.
Having the glibc and gcc3 compiled with the gcc 2.95 of the stage1 iso 
image made me worried after your post.
And indeed, the mini compiler of the iso refused to accept the 
march=athlon flag for the bootstrap.
So, I did the bootstrap with march=i686, and right now am 
re-bootstrapping again with the gcc3.0 and march=athlon, which hopefully 
now compiles a decent optimized gcc and glibc. And should savely give a 
full gcc3 system later.

Could you confirm that the second bootstrap would be a working interim 
solution till a gentoo 1.1 (which, to my suprise seems to be 
downloadable from the gentoo ftp site. Anyone from IRC know what it 
does?) is released?

Greetings,
Christian

Preston A. Elder wrote:
> I'm sure it does ...
> 
> But unless I'm missing something here, changing the profile does NOTHING
> to change the utilities (read: tar, bzip2, cp, mv, ls, etc) that are
> installed WITH the system.
> 
> Read my email again carefully.  I manually made my own
> 'default-1.0-gcc3' profile by changing the packages file to use gcc3
> instead of 2.95 and then bootstrapped with it -- and it worked fine
> right up until it installed glibc.
> 
> Just incase your not a coder.  GLIBC supplies both C and C++ libraries
> and symbols for other programs to use.  All C++ symbols are 'mangled',
> which is a method the compiler uses to differentiate different functions
> with the same name but different types (read up on C++ function
> overloading and name mangling).
> 
> 3.0 changed the mangling scheme used to mangle C++ names from what was
> used with 2.x -- which means, quite simply, if you have an application
> thats been compiled against libraries built with gcc 2.x, and then you
> compile the libraries with 3.x, the application will cease to work,
> because it will not be able to find the symbols it needs to run. 
> Usually, this will result in a core dump.  This only affects programs
> written in C++.
> 
> This is exactly what happens with utilities such as tar, which is
> written in C++ (which surprised me).  Which is why, your
> default-1.0-gcc3 profile will *NOT* enable someone to bootstrap with gcc
> 3.0, unless you happen to have a stage1 ISO that has statically linked
> binaries in it (theoretically, if you have statically linked binaries on
> the whole system, you dont even NEED a /lib or /usr/lib directory,
> because its all statically linked).
> 
> This was the point I was trying to make.  Dont get me wrong, I'm glad
> the gcc3 profile is there, and I'm using it, because I use gcc3
> exclusively -- however gcc3 (for now), is only available as a
> POST-bootstrap (ie. stage2) compilation, until we get a 1.0 ISO with
> statically linked binaries -- or binaries that are still dynamically
> linked, but all compiled with gcc3.0 against a glibc compiled with
> gcc3.0.  Which brings in the chicken and the egg problem.
> 
> This is also why you will have to lock people into a specific glibc
> version in your gcc3 profile (which I've noticed you dont do right
> now).  Say someone bootstraps as normal, then installs gcc3, then
> switches to your gcc3 profile, and continues to build the system.  If,
> at some later point, a new revision or version of glibc comes out, and
> is put into the portage tree, and the user then does a world upgrade,
> they will attempt to re-compile glibc.  It will compile, but as soon as
> it installs, a good proportion of the rest of their system will stop
> working for exactly the reason I described.  I've manually locked my
> glibc version because of this fact, because I know I cant re-compile it
> with gcc3 without breaking my system.
> 
> If I get time, I'll sit down and think about how to actually create a
> stage1 (the thing you tar -xvbjf onto your hard disk) system that is
> totally gcc3 based, or see if I can create a stage1 with all statically
> linked binaries in it.  For now, thats not high on my priority list.



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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-07 12:38       ` Christian Hergl
@ 2002-04-07 12:50         ` Geert Bevin
  0 siblings, 0 replies; 16+ messages in thread
From: Geert Bevin @ 2002-04-07 12:50 UTC (permalink / raw
  To: gentoo-dev

The second bootstrap will certainly work, you could also just have done
'emerge gcc' which would first install gcc3 and then start the bootstrap
itself. Saving quite some time normally.

On Sun, 2002-04-07 at 14:38, Christian Hergl wrote:
> Hello all, Hello Preston,
> 
> just adding my 2 cents. I'm in the process to emerge a system based on 
> the gcc 3.0.4 as discussed earlier in this threat.
> Having the glibc and gcc3 compiled with the gcc 2.95 of the stage1 iso 
> image made me worried after your post.
> And indeed, the mini compiler of the iso refused to accept the 
> march=athlon flag for the bootstrap.
> So, I did the bootstrap with march=i686, and right now am 
> re-bootstrapping again with the gcc3.0 and march=athlon, which hopefully 
> now compiles a decent optimized gcc and glibc. And should savely give a 
> full gcc3 system later.
> 
> Could you confirm that the second bootstrap would be a working interim 
> solution till a gentoo 1.1 (which, to my suprise seems to be 
> downloadable from the gentoo ftp site. Anyone from IRC know what it 
> does?) is released?
> 
> Greetings,
> Christian
> 
> Preston A. Elder wrote:
> > I'm sure it does ...
> > 
> > But unless I'm missing something here, changing the profile does NOTHING
> > to change the utilities (read: tar, bzip2, cp, mv, ls, etc) that are
> > installed WITH the system.
> > 
> > Read my email again carefully.  I manually made my own
> > 'default-1.0-gcc3' profile by changing the packages file to use gcc3
> > instead of 2.95 and then bootstrapped with it -- and it worked fine
> > right up until it installed glibc.
> > 
> > Just incase your not a coder.  GLIBC supplies both C and C++ libraries
> > and symbols for other programs to use.  All C++ symbols are 'mangled',
> > which is a method the compiler uses to differentiate different functions
> > with the same name but different types (read up on C++ function
> > overloading and name mangling).
> > 
> > 3.0 changed the mangling scheme used to mangle C++ names from what was
> > used with 2.x -- which means, quite simply, if you have an application
> > thats been compiled against libraries built with gcc 2.x, and then you
> > compile the libraries with 3.x, the application will cease to work,
> > because it will not be able to find the symbols it needs to run. 
> > Usually, this will result in a core dump.  This only affects programs
> > written in C++.
> > 
> > This is exactly what happens with utilities such as tar, which is
> > written in C++ (which surprised me).  Which is why, your
> > default-1.0-gcc3 profile will *NOT* enable someone to bootstrap with gcc
> > 3.0, unless you happen to have a stage1 ISO that has statically linked
> > binaries in it (theoretically, if you have statically linked binaries on
> > the whole system, you dont even NEED a /lib or /usr/lib directory,
> > because its all statically linked).
> > 
> > This was the point I was trying to make.  Dont get me wrong, I'm glad
> > the gcc3 profile is there, and I'm using it, because I use gcc3
> > exclusively -- however gcc3 (for now), is only available as a
> > POST-bootstrap (ie. stage2) compilation, until we get a 1.0 ISO with
> > statically linked binaries -- or binaries that are still dynamically
> > linked, but all compiled with gcc3.0 against a glibc compiled with
> > gcc3.0.  Which brings in the chicken and the egg problem.
> > 
> > This is also why you will have to lock people into a specific glibc
> > version in your gcc3 profile (which I've noticed you dont do right
> > now).  Say someone bootstraps as normal, then installs gcc3, then
> > switches to your gcc3 profile, and continues to build the system.  If,
> > at some later point, a new revision or version of glibc comes out, and
> > is put into the portage tree, and the user then does a world upgrade,
> > they will attempt to re-compile glibc.  It will compile, but as soon as
> > it installs, a good proportion of the rest of their system will stop
> > working for exactly the reason I described.  I've manually locked my
> > glibc version because of this fact, because I know I cant re-compile it
> > with gcc3 without breaking my system.
> > 
> > If I get time, I'll sit down and think about how to actually create a
> > stage1 (the thing you tar -xvbjf onto your hard disk) system that is
> > totally gcc3 based, or see if I can create a stage1 with all statically
> > linked binaries in it.  For now, thats not high on my priority list.
> 
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev
> 
-- 
Geert Bevin             Uwyn
"Use what you need"     Lambermontlaan 148
http://www.uwyn.com     1030 Brussels
gbevin@uwyn.com         Tel & Fax +32 2 245 41 06



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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-07 10:49     ` Preston A. Elder
@ 2002-04-07 18:18       ` Stacey Keast
  0 siblings, 0 replies; 16+ messages in thread
From: Stacey Keast @ 2002-04-07 18:18 UTC (permalink / raw
  To: gentoo-dev

http://gcc.gnu.org/news/profiledriven.html is probably why gcc takes
longer to compile things now.. and I think it's a good trade off.

Also, I'm not sure I understand why gcc-2.95.3 can't be installed at the
same time as gcc-3.0.  Slackware alows you to install and use both.



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

* Re: [gentoo-dev] Gcc 3.0.4 installed system
  2002-04-06 12:01 [gentoo-dev] Gcc 3.0.4 installed system Geert Bevin
  2002-04-06 14:06 ` Bart Verwilst
  2002-04-07  3:29 ` Preston A. Elder
@ 2002-04-07 22:04 ` Spider
  2 siblings, 0 replies; 16+ messages in thread
From: Spider @ 2002-04-07 22:04 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2557 bytes --]

ok, I've just been bashing some against gcc3 and an upgrade from -rc6.

in short: it works

the long answer is... Youll want to rebuild a lot of things.

First, you want to identify all packages that use libstdc++

find / -type f -perm +o+x  | while read FILE
  do ldd "${FILE}" |grep "libstdc++" - >/dev/null && echo ${FILE}
>>/root/REBUILD.files
# (this above  is a single line)
echo ${FILE}
done


#  Now, you want gentoolkit installed (qpkg is your friend ;)


# then, get the package they belong to.
cat /root/REBUILD.files |while read FILE
  do qpkg -nc -f "${FILE}" >>/root/REBUILD.packs;echo ${FILE}
done


# Now, we reduce that list further 
cat /root/REBUILD.packs |sort |uniq >/root/REBUILD.packs.new

look at those packages, and then calmly remove them.  mozilla, galeon,
gtkmm, gabber, ickle, blackbox, openssl, bbpager, fluxbox .... all that.



in openssl ebuild add this in src_unpack:
        patch -p0 < ${FILESDIR}/openssl-0.9.6c-gcc3.patch

bbpager breaks (incompatible with gcc3)

I dont think netscape 4.73 will work either. :/


Well.. thats all folks ;)

//Spider


begin  quote
On 06 Apr 2002 14:01:07 +0200
Geert Bevin <gbevin@uwyn.com> wrote:

> Hi all,
> 
> I finally installed 1.0 from scratch and decided to try it out with
> gcc 3.0.4 instead of 2.95.3. Along the way I encountered some
> problems, but surprisingly little. I've fixed everything that needed
> fixing and sadly some packages are backwards incompatible. For that
> reason and for the ease of maintenance I've created a dedicated gcc 3
> profile.
> 
> So, for those that want to try this out, just link the
> default-1.0-gcc3 profile instead of default-1.0 to /etc/make.profile.
> Note that this will only work for installations from scratch and not
> for updates since applications that link against libstdc++ v2 require
> the libraries of gcc v2 and not gcc v3.
> 
> There are still some packages that don't compile such as galeon and
> openjade, but these will be fixed in a matter of time since I need
> them;-) Feel free to submit fixes too.
> 
> Best regards,
> 
> Geert Bevin
> -- 
> Geert Bevin             Uwyn
> "Use what you need"     Lambermontlaan 148
> http://www.uwyn.com     1030 Brussels
> gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
> 
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev


--
begin  happy99.exe
This is a .signature virus! Please copy me into your .signature!
See Microsoft KB Article Q265230 for more information.
end

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

end of thread, other threads:[~2002-04-07 22:11 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-06 12:01 [gentoo-dev] Gcc 3.0.4 installed system Geert Bevin
2002-04-06 14:06 ` Bart Verwilst
2002-04-06 18:18   ` Joe Oppegaard
2002-04-06 19:13     ` Michael Odell
2002-04-06 22:43     ` Jared H. Hudson
2002-04-07  3:29 ` Preston A. Elder
2002-04-07 10:02   ` Bart Verwilst
2002-04-07 10:49     ` Preston A. Elder
2002-04-07 18:18       ` Stacey Keast
2002-04-07 10:14   ` Geert Bevin
2002-04-07 10:40     ` Preston A. Elder
2002-04-07 10:57       ` Geert Bevin
2002-04-07 12:38       ` Christian Hergl
2002-04-07 12:50         ` Geert Bevin
2002-04-07 22:04 ` Spider
  -- strict thread matches above, loose matches on Subject: below --
2002-04-07  3:10 michael

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox