* [gentoo-user] gcc-4.1.1 [not found] <ad4496950606070647s5a4bc702m8deeda7dbd590c4a@mail.gmail.com> @ 2006-06-07 13:53 ` Mohammed Hagag 2006-06-07 14:30 ` Peper ` (5 more replies) 0 siblings, 6 replies; 34+ messages in thread From: Mohammed Hagag @ 2006-06-07 13:53 UTC (permalink / raw To: gentoo-user i just want to know if any one here have built a full desktop with gcc-4.1.1 without problems ? i have some problems with xf86 video drivers and some other ebuilds. i did a bootstartp from normal stage3 and i'm doing emerge -e world now but some important packages did not compile most of the with errors about glibc include files. any one here know any thing about these problems ?? -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 13:53 ` [gentoo-user] gcc-4.1.1 Mohammed Hagag @ 2006-06-07 14:30 ` Peper 2006-06-07 14:35 ` Julien Cabillot 2006-06-07 14:45 ` Kristian Poul Herkild ` (4 subsequent siblings) 5 siblings, 1 reply; 34+ messages in thread From: Peper @ 2006-06-07 14:30 UTC (permalink / raw To: gentoo-user > any one here know any thing about these problems ?? after emerge -e world everything is working fine. -- Best Regards, Peper -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 14:30 ` Peper @ 2006-06-07 14:35 ` Julien Cabillot 0 siblings, 0 replies; 34+ messages in thread From: Julien Cabillot @ 2006-06-07 14:35 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 307 bytes --] I use many software from gnome/kde/... and no problems On 6/7/06, Peper <peper@aster.pl> wrote: > > > any one here know any thing about these problems ?? > after emerge -e world everything is working fine. > > -- > Best Regards, > Peper > -- > gentoo-user@gentoo.org mailing list > > -- Julien Cabillot [-- Attachment #2: Type: text/html, Size: 653 bytes --] ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 13:53 ` [gentoo-user] gcc-4.1.1 Mohammed Hagag 2006-06-07 14:30 ` Peper @ 2006-06-07 14:45 ` Kristian Poul Herkild 2006-06-07 14:56 ` Neil Bothwick ` (3 subsequent siblings) 5 siblings, 0 replies; 34+ messages in thread From: Kristian Poul Herkild @ 2006-06-07 14:45 UTC (permalink / raw To: gentoo-user Mohammed Hagag wrote: > i just want to know if any one here have built a full desktop with > gcc-4.1.1 without problems ? > i have some problems with xf86 video drivers and some other ebuilds. > > i did a bootstartp from normal stage3 and i'm doing emerge -e world > now but some important packages did not compile most of the with > errors about glibc include files. > > any one here know any thing about these problems ?? It works fine here. A few packages (mostly GNUstep ones) fails to compile with GCC-4.1.1 (at least with my configuration), but we are talking very few packages. Just remember to do 'emerge -e system && emerge -e world' and you'll be fine. -Herkild -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 13:53 ` [gentoo-user] gcc-4.1.1 Mohammed Hagag 2006-06-07 14:30 ` Peper 2006-06-07 14:45 ` Kristian Poul Herkild @ 2006-06-07 14:56 ` Neil Bothwick 2006-06-07 15:00 ` Bo Ørsted Andresen ` (2 subsequent siblings) 5 siblings, 0 replies; 34+ messages in thread From: Neil Bothwick @ 2006-06-07 14:56 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 801 bytes --] On Wed, 7 Jun 2006 16:53:31 +0300, Mohammed Hagag wrote: > i just want to know if any one here have built a full desktop with > gcc-4.1.1 without problems ? > i have some problems with xf86 video drivers and some other ebuilds. What problems? > i did a bootstartp from normal stage3 and i'm doing emerge -e world > now but some important packages did not compile most of the with > errors about glibc include files. What error? > any one here know any thing about these problems ?? That is difficult because you haven't actually told us anything about the problems you are having. If you give exact details of what you are doing and the error messages you receive, someone should be able to give useful advice. -- Neil Bothwick What's another word for `Thesaurus'? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 13:53 ` [gentoo-user] gcc-4.1.1 Mohammed Hagag ` (2 preceding siblings ...) 2006-06-07 14:56 ` Neil Bothwick @ 2006-06-07 15:00 ` Bo Ørsted Andresen 2006-06-07 15:25 ` Conneries wearegeeks 2006-06-07 16:04 ` Roy Wright 5 siblings, 0 replies; 34+ messages in thread From: Bo Ørsted Andresen @ 2006-06-07 15:00 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1089 bytes --] Wednesday 07 June 2006 15:53 skrev Mohammed Hagag: > i just want to know if any one here have built a full desktop with > gcc-4.1.1 without problems ? I had to run 'fix_libtool_files.sh 3.3.6' (my previous gcc was v. 3.3.6). I did not have to emerge -e world (at least not yet). I have compiled qt, all of kde and some other apps that has been upgraded in ~x86 Gentoo during the last 12 days with gcc 4.1.1. I have not yet compiled glibc and glib with gcc 4.1.1. I have yet to see a problem that can't be solved by recompiling something. :) > i have some problems with xf86 video drivers and some other ebuilds. I you want help you have to be a lot more specific. What xf86 video drivers? > i did a bootstartp from normal stage3 and i'm doing emerge -e world > now but some important packages did not compile most of the with > errors about glibc include files. Which important packages? What are the errors? > any one here know any thing about these problems ?? Given the very limited info you have provided, I very much doubt it.. -- Bo Andresen [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 34+ messages in thread
* RE: [gentoo-user] gcc-4.1.1 2006-06-07 13:53 ` [gentoo-user] gcc-4.1.1 Mohammed Hagag ` (3 preceding siblings ...) 2006-06-07 15:00 ` Bo Ørsted Andresen @ 2006-06-07 15:25 ` Conneries wearegeeks 2006-06-07 16:04 ` Roy Wright 5 siblings, 0 replies; 34+ messages in thread From: Conneries wearegeeks @ 2006-06-07 15:25 UTC (permalink / raw To: gentoo-user Did it without any problem. > -----Message d'origine----- > De : Mohammed Hagag [mailto:mohamedhagag1981@gmail.com] > Envoyé : mercredi 7 juin 2006 15:54 > À : gentoo-user@lists.gentoo.org > Objet : [gentoo-user] gcc-4.1.1 > > i just want to know if any one here have built a full desktop with > gcc-4.1.1 without problems ? > i have some problems with xf86 video drivers and some other ebuilds. > > i did a bootstartp from normal stage3 and i'm doing emerge -e world > now but some important packages did not compile most of the with > errors about glibc include files. > > any one here know any thing about these problems ?? > -- > gentoo-user@gentoo.org mailing list -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 13:53 ` [gentoo-user] gcc-4.1.1 Mohammed Hagag ` (4 preceding siblings ...) 2006-06-07 15:25 ` Conneries wearegeeks @ 2006-06-07 16:04 ` Roy Wright 2006-06-07 17:46 ` Mike Huber 2006-06-07 23:25 ` Richard Fish 5 siblings, 2 replies; 34+ messages in thread From: Roy Wright @ 2006-06-07 16:04 UTC (permalink / raw To: gentoo-user Mohammed Hagag wrote: > i just want to know if any one here have built a full desktop with > gcc-4.1.1 without problems ? > i have some problems with xf86 video drivers and some other ebuilds. > > i did a bootstartp from normal stage3 and i'm doing emerge -e world > now but some important packages did not compile most of the with > errors about glibc include files. > > any one here know any thing about these problems ?? I did: emerge -s && emerge -e && revdep-rebuild You might want to read: http://forums.gentoo.org/viewtopic.php?t=282474&highlight= which basically recommends: emerge -s emerge -s emerge -e emerge -e to make sure the toolchain is built correctly. HTH, Roy -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 16:04 ` Roy Wright @ 2006-06-07 17:46 ` Mike Huber 2006-06-07 18:09 ` Daniel da Veiga 2006-06-07 18:17 ` Evan Klitzke 2006-06-07 23:25 ` Richard Fish 1 sibling, 2 replies; 34+ messages in thread From: Mike Huber @ 2006-06-07 17:46 UTC (permalink / raw To: gentoo-user I had some weird problems with the emerge -e system (libraries not being properly identified to ./config scripts, that blocking issue with pam.d & shadow, usual unstable tree stuff), but after toying with it for a few hours, I have a successfully running desktop. On 6/7/06, Roy Wright <royw@cisco.com> wrote: > Mohammed Hagag wrote: > > i just want to know if any one here have built a full desktop with > > gcc-4.1.1 without problems ? > > i have some problems with xf86 video drivers and some other ebuilds. > > > > i did a bootstartp from normal stage3 and i'm doing emerge -e world > > now but some important packages did not compile most of the with > > errors about glibc include files. > > > > any one here know any thing about these problems ?? > I did: emerge -s && emerge -e && revdep-rebuild > > You might want to read: > > http://forums.gentoo.org/viewtopic.php?t=282474&highlight= > > which basically recommends: > > emerge -s > emerge -s > emerge -e > emerge -e > > to make sure the toolchain is built correctly. > > HTH, > Roy > -- > gentoo-user@gentoo.org mailing list > > -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 17:46 ` Mike Huber @ 2006-06-07 18:09 ` Daniel da Veiga 2006-06-07 19:27 ` Roy Wright 2006-06-07 18:17 ` Evan Klitzke 1 sibling, 1 reply; 34+ messages in thread From: Daniel da Veiga @ 2006-06-07 18:09 UTC (permalink / raw To: gentoo-user On 6/7/06, Mike Huber <michael.huber@gmail.com> wrote: > I had some weird problems with the emerge -e system (libraries not > being properly identified to ./config scripts, that blocking issue > with pam.d & shadow, usual unstable tree stuff), but after toying with > it for a few hours, I have a successfully running desktop. > > On 6/7/06, Roy Wright <royw@cisco.com> wrote: > > Mohammed Hagag wrote: > > > i just want to know if any one here have built a full desktop with > > > gcc-4.1.1 without problems ? > > > i have some problems with xf86 video drivers and some other ebuilds. > > > > > > i did a bootstartp from normal stage3 and i'm doing emerge -e world > > > now but some important packages did not compile most of the with > > > errors about glibc include files. > > > > > > any one here know any thing about these problems ?? > > I did: emerge -s && emerge -e && revdep-rebuild > > > > You might want to read: > > > > http://forums.gentoo.org/viewtopic.php?t=282474&highlight= > > > > which basically recommends: > > > > emerge -s > > emerge -s > > emerge -e > > emerge -e > > > > to make sure the toolchain is built correctly. > > I'm watching this topic with curiosity, I have switched to ~x86 recently and after it all (and a few debugging) I have all my packages testing now, but have not switched to the new GCC for fear of things breaking beyound my knowledge on how to fix it. So, if people start replying saying things are stable with the new GCC I might switch to it completely and wait a few days before the "emerge -e system && emerge -e world" completes. Right now I really need my notebook, so, I'm not even thinking about such a complex and time consuming operation. -- Daniel da Veiga Computer Operator - RS - Brazil -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V- PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++ ------END GEEK CODE BLOCK------ -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 18:09 ` Daniel da Veiga @ 2006-06-07 19:27 ` Roy Wright 2006-06-07 19:55 ` Daniel da Veiga 0 siblings, 1 reply; 34+ messages in thread From: Roy Wright @ 2006-06-07 19:27 UTC (permalink / raw To: gentoo-user Daniel da Veiga wrote: > I'm watching this topic with curiosity, I have switched to ~x86 > recently and after it all (and a few debugging) I have all my packages > testing now, but have not switched to the new GCC for fear of things > breaking beyound my knowledge on how to fix it. So, if people start > replying saying things are stable with the new GCC I might switch to > it completely and wait a few days before the "emerge -e system && > emerge -e world" completes. > I was running stable with a lot of testing unmasked. Then upgraded to gcc-4.1.1 with an immediate emerge -s && emerge -e, which went mostly smooth. Then decided to go ~x86 for the system. That is where the pain was, particularly expat which caused most of kde/gnome to need to be upgraded. Unfortunately a lot of the tools to do the rebuild also depended on expat. So it was update a few packages, rebuild a tool, update a few more packages, ... Lesson learned is when upgrading to expat-2, immediately take the hours needed to do the revdep-rebuild (in all honesty, I didn't see the ewarn message because I was upgrading 448 packages). It really would have been nice if the expat-2 emerge package died after giving the instructions to revdep-rebuild... So far (5 days) the system has been real nice, no problems. KDE appears (subjective) faster (with USE=kdehiddenvisibility). So +1 on upgrading a ~x86 to gcc-4.1.1. For those considering stable to testing, the main changes are pam-logon/shadow (unmerge pam-logon), coldplug/udev (unmerge coldplug), expat (revdep-rebuild), ocaml (dependent packages must be manually rebuilt afterwards). HTH, Roy -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 19:27 ` Roy Wright @ 2006-06-07 19:55 ` Daniel da Veiga 0 siblings, 0 replies; 34+ messages in thread From: Daniel da Veiga @ 2006-06-07 19:55 UTC (permalink / raw To: gentoo-user On 6/7/06, Roy Wright <royw@cisco.com> wrote: > Daniel da Veiga wrote: > > I'm watching this topic with curiosity, I have switched to ~x86 > > recently and after it all (and a few debugging) I have all my packages > > testing now, but have not switched to the new GCC for fear of things > > breaking beyound my knowledge on how to fix it. So, if people start > > replying saying things are stable with the new GCC I might switch to > > it completely and wait a few days before the "emerge -e system && > > emerge -e world" completes. > > > I was running stable with a lot of testing unmasked. Then upgraded > to gcc-4.1.1 with an immediate emerge -s && emerge -e, which went > mostly smooth. > > Then decided to go ~x86 for the system. That is where the pain was, > particularly expat which caused most of kde/gnome to need to be > upgraded. Unfortunately a lot of the tools to do the rebuild also > depended on expat. So it was update a few packages, rebuild a tool, > update a few more packages, ... Lesson learned is when upgrading > to expat-2, immediately take the hours needed to do the > revdep-rebuild (in all honesty, I didn't see the ewarn message > because I was upgrading 448 packages). It really would have been > nice if the expat-2 emerge package died after giving the instructions > to revdep-rebuild... > > So far (5 days) the system has been real nice, no problems. KDE > appears (subjective) faster (with USE=kdehiddenvisibility). So +1 on > upgrading a ~x86 to gcc-4.1.1. > > For those considering stable to testing, the main changes are > pam-logon/shadow (unmerge pam-logon), coldplug/udev (unmerge > coldplug), expat (revdep-rebuild), ocaml (dependent packages must > be manually rebuilt afterwards). > That is some precious info. I'll remember that when switching next week, thanks. I will not have much problems with dependencies/blocks and stuff because I already switched the whole tree to ~x86, masking some blocks, so, now it is just a matter of recompiling stuff. Anyway, If I switch, do the emerge -e system and world and eventually stop, nothing will (in theory) be broken as long as I mantain compatibility libraries right? I'll switch from 3.4.5 to 4.1, dunno if there were substancial changes like when switching from 3.3 to 3.4. Anyway, gotta read the gcc upgrade guide again. -- Daniel da Veiga Computer Operator - RS - Brazil -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCM/IT/P/O d-? s:- a? C++$ UBLA++ P+ L++ E--- W+++$ N o+ K- w O M- V- PS PE Y PGP- t+ 5 X+++ R+* tv b+ DI+++ D+ G+ e h+ r+ y++ ------END GEEK CODE BLOCK------ -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 17:46 ` Mike Huber 2006-06-07 18:09 ` Daniel da Veiga @ 2006-06-07 18:17 ` Evan Klitzke 1 sibling, 0 replies; 34+ messages in thread From: Evan Klitzke @ 2006-06-07 18:17 UTC (permalink / raw To: gentoo-user The pam-login/shadow blocking issue was a portage specific thing -- you would have gotten it no matter what version of gcc you were running. In this case it was because pam-login being deprecated. On 6/7/06, Mike Huber <michael.huber@gmail.com> wrote: > I had some weird problems with the emerge -e system (libraries not > being properly identified to ./config scripts, that blocking issue > with pam.d & shadow, usual unstable tree stuff), but after toying with > it for a few hours, I have a successfully running desktop. -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 16:04 ` Roy Wright 2006-06-07 17:46 ` Mike Huber @ 2006-06-07 23:25 ` Richard Fish 2006-06-08 0:32 ` Evan Klitzke 2006-06-08 1:50 ` Bob Young 1 sibling, 2 replies; 34+ messages in thread From: Richard Fish @ 2006-06-07 23:25 UTC (permalink / raw To: gentoo-user On 6/7/06, Roy Wright <royw@cisco.com> wrote: > You might want to read: > > http://forums.gentoo.org/viewtopic.php?t=282474&highlight= > > which basically recommends: > > emerge -s > emerge -s > emerge -e > emerge -e Ugh, this is completely pointless. A single "emerge -e world" is sufficient. -Richard -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-07 23:25 ` Richard Fish @ 2006-06-08 0:32 ` Evan Klitzke 2006-06-08 4:40 ` Richard Fish 2006-06-08 1:50 ` Bob Young 1 sibling, 1 reply; 34+ messages in thread From: Evan Klitzke @ 2006-06-08 0:32 UTC (permalink / raw To: gentoo-user AFAIK, the only thing that you need to compile twice is GCC. And you don't even really need to do that twice. The second pass will may pass on new optimizations that will make it more efficient, but the code it outputs will be exactly the same. -- Evan Klitzke On 6/7/06, Richard Fish <bigfish@asmallpond.org> wrote: > On 6/7/06, Roy Wright <royw@cisco.com> wrote: > > You might want to read: > > > > http://forums.gentoo.org/viewtopic.php?t=282474&highlight= > > > > which basically recommends: > > > > emerge -s > > emerge -s > > emerge -e > > emerge -e > > > Ugh, this is completely pointless. A single "emerge -e world" is sufficient. > > -Richard > -- > gentoo-user@gentoo.org mailing list > > -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 0:32 ` Evan Klitzke @ 2006-06-08 4:40 ` Richard Fish 2006-06-08 11:39 ` Mohammed Hagag 0 siblings, 1 reply; 34+ messages in thread From: Richard Fish @ 2006-06-08 4:40 UTC (permalink / raw To: gentoo-user On 6/7/06, Evan Klitzke <eklitzke@gmail.com> wrote: > AFAIK, the only thing that you need to compile twice is GCC. And you > don't even really need to do that twice. The second pass will may > pass on new optimizations that will make it more efficient, but the > code it outputs will be exactly the same. You are correct that gcc's output will be the same, but you don't need to merge it twice because gcc uses itself to build itself. It uses a 3-stage bootstrap, where it uses the system compiler to build an initial version of itself, then uses that version to rebuild itself. Then for good measure, it then uses that version to build the final version of itself. The final result is completely independant of the original compiler. -Richard -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 4:40 ` Richard Fish @ 2006-06-08 11:39 ` Mohammed Hagag 0 siblings, 0 replies; 34+ messages in thread From: Mohammed Hagag @ 2006-06-08 11:39 UTC (permalink / raw To: gentoo-user thanks every body, every thing goes fine now without errors i didn't change any thing just a reboot then etc-update; env-update and every thing works fine. On 6/8/06, Richard Fish <bigfish@asmallpond.org> wrote: > On 6/7/06, Evan Klitzke <eklitzke@gmail.com> wrote: > > AFAIK, the only thing that you need to compile twice is GCC. And you > > don't even really need to do that twice. The second pass will may > > pass on new optimizations that will make it more efficient, but the > > code it outputs will be exactly the same. > > You are correct that gcc's output will be the same, but you don't need > to merge it twice because gcc uses itself to build itself. It uses a > 3-stage bootstrap, where it uses the system compiler to build an > initial version of itself, then uses that version to rebuild itself. > Then for good measure, it then uses that version to build the final > version of itself. The final result is completely independant of the > original compiler. > > -Richard > -- > gentoo-user@gentoo.org mailing list > > -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* RE: [gentoo-user] gcc-4.1.1 2006-06-07 23:25 ` Richard Fish 2006-06-08 0:32 ` Evan Klitzke @ 2006-06-08 1:50 ` Bob Young 2006-06-08 2:10 ` Jerry McBride ` (2 more replies) 1 sibling, 3 replies; 34+ messages in thread From: Bob Young @ 2006-06-08 1:50 UTC (permalink / raw To: gentoo-user > On 6/7/06, Roy Wright <royw@cisco.com> wrote: > > You might want to read: > > > > http://forums.gentoo.org/viewtopic.php?t=282474&highlight= > > > > which basically recommends: > > > > emerge -s > > emerge -s > > emerge -e > > emerge -e > > > Ugh, this is completely pointless. A single "emerge -e world" is > sufficient. > Depends on what you consider sufficient. Although what the page recommends was misquoted, it actually suggests: emerge -e system emerge -e system emerge -e world emerge -e world That's probably is a little bit excessive, but the reason for doing the two emerge -e systems is so that the new tool chain is built with the new tool chain. At the end of the first emerge -e system you may have a new compiler, but that new compiler was built with the old compiler. What you actually want is a gcc-4.1.1 that was built with gcc-4.1.1. You could emerge the compiler twice before doing the emerge -e system, but the the emerges that happen before glibc is rebuilt are linked against a glibc that was built with the old compiler. Same with the rest of the tool chain and libraries. That being said "emerge -e system" is probably overkill just for a new toolchain. Updating a subset of all possible toolchain related things and then following that by a single emerge -e world would probably be sufficient for most people. This page: http://forums.gentoo.org/viewtopic-t-345229.html is about doing an install, but it shows how to update a subset of the entire tool chain. Note that the article does in the end, do a double emerge -e system, so the the value of updating a toolchain subset is questionable for the article's purposes. In short: emerge gcc-config glibc binutils libstdc++-v3 gcc emerge gcc-config glibc binutils libstdc++-v3 gcc emerge -e world To be clear, in order to make sure absolutely everything is updated and the libraries that are linked against are also updated prior to use, the two emerge -e system commands, are the definitive solution. For those who don't want to spend many extra hours of compile time, in order to gain a 0.5% increase in performance, the above is offered for consideration. Regards, Bob Young -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 1:50 ` Bob Young @ 2006-06-08 2:10 ` Jerry McBride 2006-06-12 21:35 ` Bob Young 2006-06-08 4:24 ` Richard Fish 2006-06-16 17:17 ` Thomas T. Veldhouse 2 siblings, 1 reply; 34+ messages in thread From: Jerry McBride @ 2006-06-08 2:10 UTC (permalink / raw To: gentoo-user On Wednesday 07 June 2006 21:50, Bob Young wrote: > > On 6/7/06, Roy Wright <royw@cisco.com> wrote: > > > You might want to read: > > > > > > http://forums.gentoo.org/viewtopic.php?t=282474&highlight= > > > > > > which basically recommends: > > > > > > emerge -s > > > emerge -s > > > emerge -e > > > emerge -e > > > > Ugh, this is completely pointless. A single "emerge -e world" is > > sufficient. > > Depends on what you consider sufficient. Although what the page recommends > was misquoted, it actually suggests: > > emerge -e system > emerge -e system > emerge -e world > emerge -e world > > That's probably is a little bit excessive, but the reason for doing the two > emerge -e systems is so that the new tool chain is built with the new tool > chain. At the end of the first emerge -e system you may have a new > compiler, but that new compiler was built with the old compiler. What you > actually want is a gcc-4.1.1 that was built with gcc-4.1.1. You could > emerge the compiler twice before doing the emerge -e system, but the the > emerges that happen before glibc is rebuilt are linked against a glibc that > was built with the old compiler. Same with the rest of the tool chain and > libraries. > > That being said "emerge -e system" is probably overkill just for a new > toolchain. Updating a subset of all possible toolchain related things and > then following that by a single emerge -e world would probably be > sufficient for most people. This page: > http://forums.gentoo.org/viewtopic-t-345229.html is about doing an install, > but it shows how to update a subset of the entire tool chain. Note that the > article does in the end, do a double emerge -e system, so the the value of > updating a toolchain subset is questionable for the article's purposes. > > In short: > > emerge gcc-config glibc binutils libstdc++-v3 gcc > emerge gcc-config glibc binutils libstdc++-v3 gcc > emerge -e world > > To be clear, in order to make sure absolutely everything is updated and the > libraries that are linked against are also updated prior to use, the two > emerge -e system commands, are the definitive solution. For those who don't > want to spend many extra hours of compile time, in order to gain a 0.5% > increase in performance, the above is offered for consideration. > > Regards, > Bob Young Wow! I said the same thing a week or so ago and got the same rebuttal. However, it's what I do none the less. And it works. -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* RE: [gentoo-user] gcc-4.1.1 2006-06-08 2:10 ` Jerry McBride @ 2006-06-12 21:35 ` Bob Young 2006-06-13 0:09 ` Richard Fish 0 siblings, 1 reply; 34+ messages in thread From: Bob Young @ 2006-06-12 21:35 UTC (permalink / raw To: gentoo-user > -----Original Message----- > From: Jerry McBride [mailto:mcbrides9@comcast.net] > Sent: Wednesday, June 07, 2006 7:10 PM > To: gentoo-user@lists.gentoo.org > Subject: Re: [gentoo-user] gcc-4.1.1 > > > On Wednesday 07 June 2006 21:50, Bob Young wrote: > Note that the > > article does in the end, do a double emerge -e system, so the > the value of > > updating a toolchain subset is questionable for the article's purposes. > > > > In short: > > > > emerge gcc-config glibc binutils libstdc++-v3 gcc > > emerge gcc-config glibc binutils libstdc++-v3 gcc > > emerge -e world > > > > To be clear, in order to make sure absolutely everything is > updated and the > > libraries that are linked against are also updated prior to use, the two > > emerge -e system commands, are the definitive solution. For > those who don't > > want to spend many extra hours of compile time, in order to gain a 0.5% > > increase in performance, the above is offered for consideration. > > > > Regards, > > Bob Young > > Wow! I said the same thing a week or so ago and got the same rebuttal. > However, it's what I do none the less. And it works. > I've been thinking about this over the last week or so. In particular the fact that gcc always uses itself to build itself, does elminate the need for building gcc twice. That being the case, emerging the new gcc then selecting it as the default system compiler followed by a single emerge -e world should be all that is necessary. I suppose it's possible that a few apps or utilities that use static linking *could* possibly end up linking against libraries that have not been rebuilt with the new compiler yet due to build order issues. However since the number of apps and utilities that actually use static linking is very small, it doesn't seem that a double emerge -e world or system is justified. That being said, seems these two articles appear to be giving out bad information: http://forums.gentoo.org/viewtopic.php?t=282474&highlight= http://forums.gentoo.org/viewtopic-t-345229.html If I've mis-characterisized the issue in the above description I'd appreciate it if someone would correct any mis-statements. Lastly, since the Gentoo handbook no longer describes a stage one install, is there any "official" documentation that describes the *correct* way to do a stage3 install and end up with the same level of optimization and customization that used to be provided by a stage1 install? -- Regards, Bob Young -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-12 21:35 ` Bob Young @ 2006-06-13 0:09 ` Richard Fish 0 siblings, 0 replies; 34+ messages in thread From: Richard Fish @ 2006-06-13 0:09 UTC (permalink / raw To: gentoo-user On 6/12/06, Bob Young <BYoung@nucoretech.com> wrote: > That being said, seems these two articles appear to be giving out bad > information: > > http://forums.gentoo.org/viewtopic.php?t=282474&highlight= > > http://forums.gentoo.org/viewtopic-t-345229.html Yes, I would have to agree. The first is just so utterly wrong I can't actually read it all the way through. I also have problems with the second, aside from the gcc issues. It puts a lot of effort into fine-tuning hdparm settings, but misses the noatime option in fstab that actually makes a much bigger difference. And it recommends -nptlonly, without any reasoning why. Of course it is also marked as "deprecated", with a link to the new version, but that requires some kind of login to access. But basically the forums, the wiki, and even this mail list are all "buyer beware!" They are all unofficial, and there is no quality control other that what is provided by other users. Heck, don't even trust me without doing some of your own research. I will sometimes mention whatever official sources support my position, but usually only if I am trying to make a particularly strong argument. If I make an unsupported assertion, you *should* question it! *I may not* actually know what I am talking about! > appreciate it if someone would correct any mis-statements. Lastly, since the > Gentoo handbook no longer describes a stage one install, is there any > "official" documentation that describes the *correct* way to do a stage3 > install and end up with the same level of optimization and customization > that used to be provided by a stage1 install? The FAQ entry: http://www.gentoo.org/doc/en/faq.xml?style=printable#stage12 Note that although the faq is about installing from stage1 (or stage2), it really doesn't say how to install from stage1. It tells how to get to the same point from a stage3 install. There was a discussion about this on gentoo-dev late last year. While not 'official documentation', it is at least from people who should know what they are talking about: http://article.gmane.org/gmane.linux.gentoo.devel/33251/match=decision+remove+stage1+2 So the answer seems to be: 1. Install a stage3 as documented 2. [Edit and] run bootstrap.sh 3. emerge -e system -Richard -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 1:50 ` Bob Young 2006-06-08 2:10 ` Jerry McBride @ 2006-06-08 4:24 ` Richard Fish 2006-06-08 12:34 ` Bob Young 2006-06-16 17:17 ` Thomas T. Veldhouse 2 siblings, 1 reply; 34+ messages in thread From: Richard Fish @ 2006-06-08 4:24 UTC (permalink / raw To: gentoo-user On 6/7/06, Bob Young <BYoung@nucoretech.com> wrote: > chain. At the end of the first emerge -e system you may have a new compiler, > but that new compiler was built with the old compiler. This is false. Gcc uses itself to build itself. It uses the system compiler to build an initial version of itself, and then uses that version to build itself. And then for good measure, it uses that version to build the final version. It's called a 3-stage bootstrap, and is documented in the file INSTALL/build.html in the gcc sources. You can also look at /usr/portage/eclass/toolchain.eclass to determine that Gentoo uses the "bootstrap-lean" target by default. Frankly, anybody who claims that gcc needs to be merged twice so it can be built with itself and produce better object code does not have a clue what they are talking about and you should simply disregard anything else they have to say about what is necessary/useful when upgrading gcc. > happen before glibc is rebuilt are linked against a glibc that was built > with the old compiler. And guess what difference this makes to the end result. None. Nada. Nothing. Because for basically every program on your system, they are *dynamically linked* against glibc. This means that you can recompile glibc with different CFLAGS, a different compiler version, whatever, and they will *never notice*. Well, unless you use broken CFLAGS or a broken compiler, but no amount of "emerge -e world" can help you then. There are a few statically linked programs that will include glibc internally. These are used only for system recovery purposes...there is no need to worry about them at all. Again, *anybody* who claims that the end result of a compile depends upon what version of glibc you have installed, much less what CFLAGS or compiler glibc was built with, does not know what they are talking about. > for most people. This page: http://forums.gentoo.org/viewtopic-t-345229.html > is about doing an install, but it shows how to update a subset of the entire > tool chain. Note that the article does in the end, do a double emerge -e > system, so the the value of updating a toolchain subset is questionable for > the article's purposes. Any article, on the forums or anywhere else, that claims some speed benefit resulting from doing emerge -e world twice is wrong. > > In short: > > emerge gcc-config glibc binutils libstdc++-v3 gcc > emerge gcc-config glibc binutils libstdc++-v3 gcc > emerge -e world There is no value to having glibc or libstdc++-v3 in the first line. There is no value at all to doing that twice. Also, libstdc++-v3 is only needed by a few binary-only programs on Gentoo. Moreover, it is simply a build of gcc-3.3.6, which as I already said uses itself to build itself, so I cannot see any point in ever re-merging libstdc++-v3 due to a gcc upgrade, much less doing that 3 or 4 times! > To be clear, in order to make sure absolutely everything is updated and the > libraries that are linked against are also updated prior to use, the two > emerge -e system commands, are the definitive solution. For those who don't > want to spend many extra hours of compile time, in order to gain a 0.5% > increase in performance, the above is offered for consideration. No, there will not even be a 0.5% increase in performance. Not even 0.1%. Not even 0.000000000.....000001%. -Richard -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* RE: [gentoo-user] gcc-4.1.1 2006-06-08 4:24 ` Richard Fish @ 2006-06-08 12:34 ` Bob Young 2006-06-08 13:31 ` Hans-Werner Hilse ` (2 more replies) 0 siblings, 3 replies; 34+ messages in thread From: Bob Young @ 2006-06-08 12:34 UTC (permalink / raw To: gentoo-user > -----Original Message----- > From: richard.j.fish@gmail.com [mailto:richard.j.fish@gmail.com]On > Behalf Of Richard Fish > Sent: Wednesday, June 07, 2006 9:24 PM > To: gentoo-user@lists.gentoo.org > Subject: Re: [gentoo-user] gcc-4.1.1 > > > On 6/7/06, Bob Young <BYoung@nucoretech.com> wrote: > > chain. At the end of the first emerge -e system you may have a > new compiler, > > but that new compiler was built with the old compiler. > > This is false. Gcc uses itself to build itself. It uses the system > compiler to build an initial version of itself, and then uses that > version to build itself. And then for good measure, it uses that > version to build the final version. It's called a 3-stage bootstrap, > and is documented in the file INSTALL/build.html in the gcc sources. > You can also look at /usr/portage/eclass/toolchain.eclass to determine > that Gentoo uses the "bootstrap-lean" target by default. No, sorry that's just wrong. gcc is slotted, if the above were true there would be no need for gcc-config in order to select a default compiler. When a new compiler is emerged, it does *not* automatically become the default system compiler, it must be selected, and that can only happen after it has successfully been emerged. The first time a new gcc compiler is emerged, it is indeed built with the previous version of the compiler that is currently istalled as the system default. > Frankly, anybody who claims that gcc needs to be merged twice so it > can be built with itself and produce better object code does not have > a clue what they are talking about and you should simply disregard > anything else they have to say about what is necessary/useful when > upgrading gcc. It does have to be emerged twice in order for it to be built with itself, anybody who thinks otherwise doesn't understand the basic principles of compiling and linking. > > happen before glibc is rebuilt are linked against a glibc that was built > > with the old compiler. > > And guess what difference this makes to the end result. None. > Nada. Nothing. > > Because for basically every program on your system, they are > *dynamically linked* against glibc. Are you absolutely 100% sure that every single system utility and application is *dynamically* linked, and that no apps or utilities anywhere in the system specifies *static* linking? > There are a few statically linked programs that will include glibc > internally. These are used only for system recovery purposes...there > is no need to worry about them at all. Really, so people who intentionally and specifically want to upgrade absolutely *everything* should not worry about what gets left out because Richard says it's unimportant? The issue is about upgrading gcc and even the gcc upgrade howto recommends an emerge -e world. It's clear that gcc it self at least has to be emerged twice in order to build the new gcc *with* the new gcc. Whether this is strictly necessary or not is certaintly debatable, but since it executes fairly quickly, and seems a prudent step, I'd argue that it's a reasonable course. Of course a selecting the new gcc as the default with gcc-config is also required in between, but that's self evident. Adding gcc-config, glibc, binutils, libstdc++-v3, quickly covers the most important parts of the basic tool chain, and covers most utilities or apps that might specify static linking, and executes much much faster than an emerge -e system. > There is no value to having glibc or libstdc++-v3 in the first line. > There is no value at all to doing that twice. Twice is the only way to build the new gcc *with* the new gcc. I should have added the gcc-config select command in between, but I thought that was pretty clearly necessary. > Also, libstdc++-v3 is only needed by a few binary-only programs on > Gentoo. Moreover, it is simply a build of gcc-3.3.6, which as I > already said uses itself to build itself, so I cannot see any point in > ever re-merging libstdc++-v3 due to a gcc upgrade I know you said it, but that doesn't mean you were correct. The fact is that anything emerged is built with the currently selected system compiler, the first time a new compiler is emerged it is built with the current (old) compiler (duh). *After* it is successfuly emerged, it can be selected as the default system compiler, then re-emergeing gcc will result in the new compiler being built with the new compiler. The same holds true for libstdc++-v3 orginally it was built with the default system compiler, it makes sense to have it rebuilt with the new compiler. Regards, Bob Young -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 12:34 ` Bob Young @ 2006-06-08 13:31 ` Hans-Werner Hilse 2006-06-08 14:00 ` Bob Young 2006-06-08 18:05 ` Richard Fish 2006-06-16 17:25 ` Thomas T. Veldhouse 2 siblings, 1 reply; 34+ messages in thread From: Hans-Werner Hilse @ 2006-06-08 13:31 UTC (permalink / raw To: gentoo-user Hi, On Thu, 8 Jun 2006 05:34:49 -0700 "Bob Young" <BYoung@nucoretech.com> wrote: > No, sorry that's just wrong. gcc is slotted, if the above were true > there would be no need for gcc-config in order to select a default > compiler. Did you follow the documentation pointer given in the mail you are replying to before making such statements? In fact, you're wrong here. > When a new compiler is emerged, it does *not* automatically > become the default system compiler, it must be selected, and that can > only happen after it has successfully been emerged. The first time a > new gcc compiler is emerged, it is indeed built with the previous > version of the compiler that is currently istalled as the system > default. You haven't understood a word from the posting you're replying to. > It does have to be emerged twice in order for it to be built with > itself, anybody who thinks otherwise doesn't understand the basic > principles of compiling and linking. Try to understand what you are replying to. GCC's internal build logic does the staging. That's got nothing to do with what your system calls when you issue "gcc", and only at that point the slotting of GCC versions comes into play. > > Because for basically every program on your system, they are > > *dynamically linked* against glibc. > > Are you absolutely 100% sure that every single system utility and > application is *dynamically* linked, and that no apps or utilities > anywhere in the system specifies *static* linking? What would that change? We're talking about GCC, not glibc. > > There are a few statically linked programs that will include glibc > > internally. These are used only for system recovery > > purposes...there is no need to worry about them at all. > > Really, so people who intentionally and specifically want to upgrade > absolutely *everything* should not worry about what gets left out > because Richard says it's unimportant? If the build logic of those programs uses glibc statically, the specific ebuilds for such programs have to get updated in order to incorporate fixes that are needed in statically compiled libraries. Following *your* logic, one would have to do emerge -e world after the slightest update just for the case that the updated package is compiled statically into something. > The issue is about upgrading gcc and even the gcc upgrade howto > recommends an emerge -e world. It's clear that gcc it self at least > has to be emerged twice in order to build the new gcc *with* the new > gcc. Repeating this doesn't make it more true than being plain wrong. > > There is no value to having glibc or libstdc++-v3 in the first line. > > There is no value at all to doing that twice. > > Twice is the only way to build the new gcc *with* the new gcc. I > should have added the gcc-config select command in between, but I > thought that was pretty clearly necessary. He was talking about glibc at that point. I don't see no value either. > > Also, libstdc++-v3 is only needed by a few binary-only programs on > > Gentoo. Moreover, it is simply a build of gcc-3.3.6, which as I > > already said uses itself to build itself, so I cannot see any > > point in ever re-merging libstdc++-v3 due to a gcc upgrade > > The same holds true for libstdc++-v3 orginally it was built with the > default system compiler, it makes sense to have it rebuilt with the > new compiler. Not sure here, but it may well be possible that the ebuild in question builds a gcc 3.3 for bootstrapping this, too. -hwh -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* RE: [gentoo-user] gcc-4.1.1 2006-06-08 13:31 ` Hans-Werner Hilse @ 2006-06-08 14:00 ` Bob Young 2006-06-08 14:28 ` Bo Ørsted Andresen 2006-06-08 15:27 ` Toby Cubitt 0 siblings, 2 replies; 34+ messages in thread From: Bob Young @ 2006-06-08 14:00 UTC (permalink / raw To: gentoo-user > -----Original Message----- > From: Hans-Werner Hilse [mailto:hilse@web.de] > Sent: Thursday, June 08, 2006 6:32 AM > To: gentoo-user@lists.gentoo.org > Subject: Re: [gentoo-user] gcc-4.1.1 > > You haven't understood a word from the posting you're replying to. > > > It does have to be emerged twice in order for it to be built with > > itself, anybody who thinks otherwise doesn't understand the basic > > principles of compiling and linking. > > Try to understand what you are replying to. GCC's internal build logic > does the staging. That's got nothing to do with what your system calls > when you issue "gcc", and only at that point the slotting of GCC > versions comes into play. Show me some documentation for this "staging" you refer to. When you "emerge gcc" it is built with the current compiler, if the current compiler is gcc 3.4.6, and you emerge gcc 4.1.1, that means that while gcc 4.1.1 is being emerged it is built with gcc 3.4.6. gcc 4.1.1 can't be built with 4.1.1 because it hasn't been emerged yet, and as far as the system knows it doesn't actually exist yet. Can you clearly and concisely explain to me how something that is in the process of being emerged can be used to emerge itself? Doesn't make sense. Regards, Bob Young -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 14:00 ` Bob Young @ 2006-06-08 14:28 ` Bo Ørsted Andresen 2006-06-08 14:57 ` Bob Young 2006-06-08 15:27 ` Toby Cubitt 1 sibling, 1 reply; 34+ messages in thread From: Bo Ørsted Andresen @ 2006-06-08 14:28 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 319 bytes --] Thursday 08 June 2006 16:00 skrev Bob Young: > Show me some documentation for this "staging" you refer to. If you unpack the gcc sources you will find it in gcc-*/INSTALL/build.html as already mentioned by Richard. But you can also see it at [1]. [1] http://gcc.gnu.org/install/build.html -- Bo Andresen [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 34+ messages in thread
* RE: [gentoo-user] gcc-4.1.1 2006-06-08 14:28 ` Bo Ørsted Andresen @ 2006-06-08 14:57 ` Bob Young 0 siblings, 0 replies; 34+ messages in thread From: Bob Young @ 2006-06-08 14:57 UTC (permalink / raw To: gentoo-user > -----Original Message----- > From: Bo Ørsted Andresen [mailto:bo.andresen@zlin.dk] > Sent: Thursday, June 08, 2006 7:29 AM > To: gentoo-user@lists.gentoo.org > Subject: Re: [gentoo-user] gcc-4.1.1 > > > Thursday 08 June 2006 16:00 skrev Bob Young: > > Show me some documentation for this "staging" you refer to. > > If you unpack the gcc sources you will find it in > gcc-*/INSTALL/build.html as > already mentioned by Richard. But you can also see it at [1]. > > [1] http://gcc.gnu.org/install/build.html > Okay, I stand corrected. Regards, Bob Young -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 14:00 ` Bob Young 2006-06-08 14:28 ` Bo Ørsted Andresen @ 2006-06-08 15:27 ` Toby Cubitt 1 sibling, 0 replies; 34+ messages in thread From: Toby Cubitt @ 2006-06-08 15:27 UTC (permalink / raw To: gentoo-user On Thu, Jun 08, 2006 at 07:00:22AM -0700, Bob Young wrote: > > > > From: Hans-Werner Hilse [mailto:hilse@web.de] > > Sent: Thursday, June 08, 2006 6:32 AM > > To: gentoo-user@lists.gentoo.org > > Subject: Re: [gentoo-user] gcc-4.1.1 > > > > Try to understand what you are replying to. GCC's internal build logic > > does the staging. That's got nothing to do with what your system calls > > when you issue "gcc", and only at that point the slotting of GCC > > versions comes into play. > > > Show me some documentation for this "staging" you refer to. He did! In the INSTALL/build.html file in the gcc sources. > When you "emerge gcc" it is built with the current compiler, if the > current compiler is gcc 3.4.6, and you emerge gcc 4.1.1, that means > that while gcc 4.1.1 is being emerged it is built with gcc > 3.4.6. gcc 4.1.1 can't be built with 4.1.1 because it hasn't been > emerged yet, and as far as the system knows it doesn't actually > exist yet. Yes. The *first* time that gcc 4.1.1 is built. But then the gcc build process builds it a *second* time, using the gcc 4.1.1 it's just built. And for good measure, it goes on to build it a *third* time with the second version it produced. This is all done by the gcc build process (it's in the Makefile), which is what emerge runs. > Can you clearly and concisely explain to me how something that is in > the process of being emerged can be used to emerge itself? Doesn't > make sense. You're obviously right that you have to *compile* a new gcc at least twice. But this is done automatically by the gcc build process, so there's no need to build (or emerge) gcc twice. This has nothing to do with gentoo. Downloading the gcc sources manually and running ./configure, make, make install (or whatever the exact gcc build process is) would work too: you'd only need to do it once. Toby -- PhD Student Quantum Information Theory group Max Planck Institute for Quantum Optics Garching, Germany email: toby@dr-qubit.org web: www.dr-qubit.org -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 12:34 ` Bob Young 2006-06-08 13:31 ` Hans-Werner Hilse @ 2006-06-08 18:05 ` Richard Fish 2006-06-09 11:50 ` Vladimir G. Ivanovic 2006-06-16 17:25 ` Thomas T. Veldhouse 2 siblings, 1 reply; 34+ messages in thread From: Richard Fish @ 2006-06-08 18:05 UTC (permalink / raw To: gentoo-user Others have already coverd the major points, so just a couple of things to add... On 6/8/06, Bob Young <BYoung@nucoretech.com> wrote: > Are you absolutely 100% sure that every single system utility and > application is *dynamically* linked, and that no apps or utilities anywhere > in the system specifies *static* linking? I didn't say "every single system utility and application". I said "basically every program", which was a bad way of saying "almost all", since it might not be obvious for non-native english speakers (and even some native english speakers). > > There are a few statically linked programs that will include glibc > > internally. These are used only for system recovery purposes...there > > is no need to worry about them at all. > > Really, so people who intentionally and specifically want to upgrade > absolutely *everything* should not worry about what gets left out because > Richard says it's unimportant? No. They should follow the gcc upgrade guide that says emerge -e system followed by emerge -e world. BTW, I was incorrect when I stated "only for system recover purposes". The static programs do include things like busybox (which doesn't use glibc at all AFAIK), nash, and insmod.static, which are /mostly/ useful for system recovery. But it also includes things that have to run before the root filesystem is mounted, like splash and suspend utilities. I still think anybody worried about the performance of (e.g.) lvm is a bit crazy, but if they want to remerge it after remerging glibc to get the new "optimized" code, well, so be it... > The same holds true for libstdc++-v3 orginally it was built with the default > system compiler, it makes sense to have it rebuilt with the new compiler. There is simply no way to build libstdc++-v3 with the new compiler; it would break any programs that need it. Gcc likes to make incompatible changes in the C++ ABI from one version to the next, so building -v3 with the new gcc would give you the old stdc++ library, but the new ABI, and your programs would be broken. This is one of the major reasons that gcc uses itself to build itself, to make sure that it's ABI is consistent. -Richard -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 18:05 ` Richard Fish @ 2006-06-09 11:50 ` Vladimir G. Ivanovic 2006-06-09 19:43 ` Richard Fish 0 siblings, 1 reply; 34+ messages in thread From: Vladimir G. Ivanovic @ 2006-06-09 11:50 UTC (permalink / raw To: gentoo-user On Thu, 2006-06-08 at 11:05 -0700, Richard Fish wrote: > There is simply no way to build libstdc++-v3 with the new compiler; it > would break any programs that need it. Gcc likes to make incompatible > changes in the C++ ABI from one version to the next, so building -v3 > with the new gcc would give you the old stdc++ library, but the new > ABI, and your programs would be broken. > > This is one of the major reasons that gcc uses itself to build itself, > to make sure that it's ABI is consistent. > scarlatti ~ $ genlop libstdc++-v3 * sys-libs/libstdc++-v3 Wed Dec 21 10:45:38 2005 >>> sys-libs/libstdc++-v3-3.3.4 Sun Mar 5 07:58:19 2006 >>> sys-libs/libstdc++-v3-3.3.6 Sat Mar 18 13:23:43 2006 >>> sys-libs/libstdc++-v3-3.3.6 Sun Apr 2 04:07:24 2006 >>> sys-libs/libstdc++-v3-3.3.6 scarlatti ~ $ equery depends libstdc++-v3 [ Searching for packages depending on libstdc++-v3... ] sys-devel/gcc-3.4.6-r1 I definitely built libstdc++-v3 with gcc-4.1.1, but interestingly genlop doesn't report any USE or CFLAGS for it. Hmmm. scarlatti ~ $ genlop -i libstdc++-v3 * sys-libs/libstdc++-v3 Total builds: 4 Global build time: 59 minutes and 57 seconds. Average merge time: 14 minutes and 59 seconds. Info about currently installed ebuild: * sys-libs/libstdc++-v3-3.3.6 Install date: Sun Apr 2 04:07:24 2006 Anyway, I haven't had any problems, but maybe that's because no package I have uses libstdc++-v3. --- Vladimir Vladimir G. Ivanovic Palo Alto, CA 94306 +1 650 678 8014 -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-09 11:50 ` Vladimir G. Ivanovic @ 2006-06-09 19:43 ` Richard Fish 0 siblings, 0 replies; 34+ messages in thread From: Richard Fish @ 2006-06-09 19:43 UTC (permalink / raw To: gentoo-user On 6/9/06, Vladimir G. Ivanovic <vgivanovic@comcast.net> wrote: > I definitely built libstdc++-v3 with gcc-4.1.1, but interestingly genlop > doesn't report any USE or CFLAGS for it. Hmmm. Look at the ebuild for libstdc++-v3. It actually builds gcc-3.3 with C++ support, and then pulls the libstdc++.so library out of that. As we've already discussed, gcc uses itself to build itself, so you actually built libstdc++-v3 with gcc-3.3. -Richard -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 12:34 ` Bob Young 2006-06-08 13:31 ` Hans-Werner Hilse 2006-06-08 18:05 ` Richard Fish @ 2006-06-16 17:25 ` Thomas T. Veldhouse 2006-06-16 17:50 ` Bob Young 2 siblings, 1 reply; 34+ messages in thread From: Thomas T. Veldhouse @ 2006-06-16 17:25 UTC (permalink / raw To: gentoo-user Bob Young wrote: > >> -----Original Message----- >> From: richard.j.fish@gmail.com [mailto:richard.j.fish@gmail.com]On >> Behalf Of Richard Fish >> Sent: Wednesday, June 07, 2006 9:24 PM >> To: gentoo-user@lists.gentoo.org >> Subject: Re: [gentoo-user] gcc-4.1.1 >> >> >> On 6/7/06, Bob Young <BYoung@nucoretech.com> wrote: >> >>> chain. At the end of the first emerge -e system you may have a >>> >> new compiler, >> >>> but that new compiler was built with the old compiler. >>> >> This is false. Gcc uses itself to build itself. It uses the system >> compiler to build an initial version of itself, and then uses that >> version to build itself. And then for good measure, it uses that >> version to build the final version. It's called a 3-stage bootstrap, >> and is documented in the file INSTALL/build.html in the gcc sources. >> You can also look at /usr/portage/eclass/toolchain.eclass to determine >> that Gentoo uses the "bootstrap-lean" target by default. >> > > No, sorry that's just wrong. gcc is slotted, if the above were true there > would be no need for gcc-config in order to select a default compiler. When > a new compiler is emerged, it does *not* automatically become the default > system compiler, it must be selected, and that can only happen after it has > successfully been emerged. The first time a new gcc compiler is emerged, it > is indeed built with the previous version of the compiler that is currently > istalled as the system default. > xgcc is built with the previous system compiler. Then xgcc is used to build the new gcc for installation. The final install is a self-built gcc and is not built by the previous system compiler. > > >> Frankly, anybody who claims that gcc needs to be merged twice so it >> can be built with itself and produce better object code does not have >> a clue what they are talking about and you should simply disregard >> anything else they have to say about what is necessary/useful when >> upgrading gcc. >> > > It does have to be emerged twice in order for it to be built with itself, > anybody who thinks otherwise doesn't understand the basic principles of > compiling and linking. > I think you have ignored what the previous poster suggested. > >>> happen before glibc is rebuilt are linked against a glibc that was built >>> with the old compiler. >>> >> And guess what difference this makes to the end result. None. >> Nada. Nothing. >> >> Because for basically every program on your system, they are >> *dynamically linked* against glibc. >> > > Are you absolutely 100% sure that every single system utility and > application is *dynamically* linked, and that no apps or utilities anywhere > in the system specifies *static* linking? > > >> There are a few statically linked programs that will include glibc >> internally. These are used only for system recovery purposes...there >> is no need to worry about them at all. >> > > Really, so people who intentionally and specifically want to upgrade > absolutely *everything* should not worry about what gets left out because > Richard says it's unimportant? > > The issue is about upgrading gcc and even the gcc upgrade howto recommends > an emerge -e world. It's clear that gcc it self at least has to be emerged > twice in order to build the new gcc *with* the new gcc. Wrong. The gcc package builds a bootstrap compiler (the new version), called xgcc and then it uses that to build [after some tests] the final installed gcc. A single emerge of gcc will create a compiler that was built by itself. Thus, if you move from 3.3.4 to 4.1.0: emerge -u gcc You WILL have a gcc that was compiled by a 4.1.0 compiler. > Whether this is > strictly necessary or not is certaintly debatable, but since it executes > fairly quickly, and seems a prudent step, I'd argue that it's a reasonable > course. Of course a selecting the new gcc as the default with gcc-config is > also required in between, but that's self evident. Adding gcc-config, glibc, > binutils, libstdc++-v3, quickly covers the most important parts of the basic > tool chain, and covers most utilities or apps that might specify static > linking, and executes much much faster than an emerge -e system. > > >> There is no value to having glibc or libstdc++-v3 in the first line. >> There is no value at all to doing that twice. >> > > Twice is the only way to build the new gcc *with* the new gcc. I should have > added the gcc-config select command in between, but I thought that was > pretty clearly necessary. > > You didn't pay attention to what he wrote. I hope perhaps my post made it more clear. Tom Veldhouse -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* RE: [gentoo-user] gcc-4.1.1 2006-06-16 17:25 ` Thomas T. Veldhouse @ 2006-06-16 17:50 ` Bob Young 0 siblings, 0 replies; 34+ messages in thread From: Bob Young @ 2006-06-16 17:50 UTC (permalink / raw To: gentoo-user > -----Original Message----- > From: Thomas T. Veldhouse [mailto:veldy@veldy.net] > Sent: Friday, June 16, 2006 10:25 AM > To: gentoo-user@lists.gentoo.org > Subject: Re: [gentoo-user] gcc-4.1.1 > You didn't pay attention to what he wrote. I hope perhaps my post made > it more clear. > > Tom Veldhouse The only thing your post made clear is that you don't bother to read all of a thread before replying to it. Maybe this will help: The following reply was sent by me on Thur 6/8/2006 7:57 AM ************************************************************* > -----Original Message----- > From: Bo Ørsted Andresen [mailto:bo.andresen@zlin.dk] > Sent: Thursday, June 08, 2006 7:29 AM > To: gentoo-user@lists.gentoo.org > Subject: Re: [gentoo-user] gcc-4.1.1 > > > Thursday 08 June 2006 16:00 skrev Bob Young: > > Show me some documentation for this "staging" you refer to. > > If you unpack the gcc sources you will find it in > gcc-*/INSTALL/build.html as > already mentioned by Richard. But you can also see it at [1]. > > [1] http://gcc.gnu.org/install/build.html > Okay, I stand corrected. Regards, Bob Young ************************************************************* -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [gentoo-user] gcc-4.1.1 2006-06-08 1:50 ` Bob Young 2006-06-08 2:10 ` Jerry McBride 2006-06-08 4:24 ` Richard Fish @ 2006-06-16 17:17 ` Thomas T. Veldhouse 2 siblings, 0 replies; 34+ messages in thread From: Thomas T. Veldhouse @ 2006-06-16 17:17 UTC (permalink / raw To: gentoo-user Bob Young wrote: > Depends on what you consider sufficient. Although what the page recommends > was misquoted, it actually suggests: > > emerge -e system > emerge -e system > emerge -e world > emerge -e world > > That's probably is a little bit excessive, but the reason for doing the two > emerge -e systems is so that the new tool chain is built with the new tool > chain. At the end of the first emerge -e system you may have a new compiler, > but that new compiler was built with the old compiler. What you actually > want is a gcc-4.1.1 that was built with gcc-4.1.1. You could emerge the > compiler twice before doing the emerge -e system, but the the emerges that > happen before glibc is rebuilt are linked against a glibc that was built > with the old compiler. Same with the rest of the tool chain and libraries. > > Hmm ... unless the build of gcc has changed over the years, it used to build the compiler as a bootstrap and then use new compiler (xgcc) to build the final compiler for install (gcc). Thus, the standard make script already builds the compiler twice. I don't know that a compiler rebuild is really necessary when binutils is updated. -- gentoo-user@gentoo.org mailing list ^ permalink raw reply [flat|nested] 34+ messages in thread
end of thread, other threads:[~2006-06-16 18:01 UTC | newest] Thread overview: 34+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <ad4496950606070647s5a4bc702m8deeda7dbd590c4a@mail.gmail.com> 2006-06-07 13:53 ` [gentoo-user] gcc-4.1.1 Mohammed Hagag 2006-06-07 14:30 ` Peper 2006-06-07 14:35 ` Julien Cabillot 2006-06-07 14:45 ` Kristian Poul Herkild 2006-06-07 14:56 ` Neil Bothwick 2006-06-07 15:00 ` Bo Ørsted Andresen 2006-06-07 15:25 ` Conneries wearegeeks 2006-06-07 16:04 ` Roy Wright 2006-06-07 17:46 ` Mike Huber 2006-06-07 18:09 ` Daniel da Veiga 2006-06-07 19:27 ` Roy Wright 2006-06-07 19:55 ` Daniel da Veiga 2006-06-07 18:17 ` Evan Klitzke 2006-06-07 23:25 ` Richard Fish 2006-06-08 0:32 ` Evan Klitzke 2006-06-08 4:40 ` Richard Fish 2006-06-08 11:39 ` Mohammed Hagag 2006-06-08 1:50 ` Bob Young 2006-06-08 2:10 ` Jerry McBride 2006-06-12 21:35 ` Bob Young 2006-06-13 0:09 ` Richard Fish 2006-06-08 4:24 ` Richard Fish 2006-06-08 12:34 ` Bob Young 2006-06-08 13:31 ` Hans-Werner Hilse 2006-06-08 14:00 ` Bob Young 2006-06-08 14:28 ` Bo Ørsted Andresen 2006-06-08 14:57 ` Bob Young 2006-06-08 15:27 ` Toby Cubitt 2006-06-08 18:05 ` Richard Fish 2006-06-09 11:50 ` Vladimir G. Ivanovic 2006-06-09 19:43 ` Richard Fish 2006-06-16 17:25 ` Thomas T. Veldhouse 2006-06-16 17:50 ` Bob Young 2006-06-16 17:17 ` Thomas T. Veldhouse
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox