Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo switches to gcc 3.4.4 on x86
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3, 4  Next  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
amne
Bodhisattva
Bodhisattva


Joined: 17 Nov 2002
Posts: 6378
Location: Graz / EU

PostPosted: Fri Dec 02, 2005 10:27 pm    Post subject: Gentoo switches to gcc 3.4.4 on x86 Reply with quote

As you may have already noticed, 3.4.4 is becoming stable on x86.
Please use this thread for general discussion on this issue. If you have specific problems with the upgrade, please visit Upgrading your system to gcc 3.4(.4) in Portage&Programming.
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
codergeek42
Bodhisattva
Bodhisattva


Joined: 05 Apr 2004
Posts: 5142
Location: Anaheim, CA (USA)

PostPosted: Fri Dec 02, 2005 11:08 pm    Post subject: Reply with quote

That's awesome! :D
(Also to add this thread to my egosearch...)
_________________
~~ Peter: Programmer, Mathematician, STEM & Free Software Advocate, Enlightened Agent, Transhumanist, Fedora contributor
Who am I? :: EFF & FSF
Back to top
View user's profile Send private message
southsider
Guru
Guru


Joined: 05 Jul 2004
Posts: 358

PostPosted: Fri Dec 02, 2005 11:35 pm    Post subject: Reply with quote

Why do I have to recompile my entire system!?

Why does a compiler upgrade "break" stuff!?

Stress! Stress! :( :(
Back to top
View user's profile Send private message
bandreabis
Advocate
Advocate


Joined: 18 Feb 2005
Posts: 2490
Location: イタリアのロディで

PostPosted: Fri Dec 02, 2005 11:41 pm    Post subject: Reply with quote

Code:
emerge -uD world
upgrades my gcc, is this a good idea or I have to
Code:
ctrl+c
my emerge and follow the guide?

Andrea
_________________
Il numero di post non fa di me un esperto! Anzi!
Back to top
View user's profile Send private message
rhill
Retired Dev
Retired Dev


Joined: 22 Oct 2004
Posts: 1629
Location: sk.ca

PostPosted: Fri Dec 02, 2005 11:58 pm    Post subject: Reply with quote

you can build gcc-3.4 as part of your normal update. the new compiler is slotted and won't be used until you run gcc-config to specifically enable it.
_________________
by design, by neglect
for a fact or just for effect
Back to top
View user's profile Send private message
big_gie
Apprentice
Apprentice


Joined: 31 Aug 2004
Posts: 158

PostPosted: Sat Dec 03, 2005 1:14 am    Post subject: Reply with quote

Time to get that cpu some work! :)

Is it safe to upgrade via a ssh connection? Since I'm not at work right now, I could use the weekend to upgrade. But I won't be able to be next to the machine. What do you think?
Back to top
View user's profile Send private message
seren
Guru
Guru


Joined: 27 Aug 2005
Posts: 448
Location: Wisconsin

PostPosted: Sat Dec 03, 2005 1:45 am    Post subject: Reply with quote

does this mean the stage3 tarballs 2005.1(r1)? will have gcc 3.4.4 rather than 3.3.6? and will their be a new release of the live cd compiled with gcc 3.4.4? if its being marked as stable it should be, at least the stage3 tarballs should have 3.4.4 because now that is stable it will be a pain in the arse to upgrade to 3.4.4.

and for those that want to upgrade do this

Code:
emerge --sync && emerge -u gcc && gcc-config i686-pc-linux-gnu-3.4.4 && source /etc/profile && emerge gcc binutils glibc libstdc++-v3 && emerge -P gcc && emerge -e system && emerge -e world


should be safe to use ssh make sure gcc-config 6 changes to gcc 3.4.4 you may want to run that code in two sections like this

Code:
emerge --sync && emerge -u gcc && gcc-config i686-pc-linux-gnu-3.4.4 && source /etc/profile
Code:
emerge gcc binutils glibc libstdc++-v3 && emerge -P gcc && emerge -e system && emerge -e world


Last edited by seren on Sat Dec 03, 2005 2:21 am; edited 1 time in total
Back to top
View user's profile Send private message
Halcy0n
Developer
Developer


Joined: 17 Sep 2003
Posts: 1682
Location: Freehold, NJ

PostPosted: Sat Dec 03, 2005 2:17 am    Post subject: Reply with quote

seren wrote:
and for those that want to upgrade do this

Code:
emerge --sync && emerge -u gcc && gcc-config i686-pc-linux-gnu-3.4.4 && source /etc/profile && emerge gcc binutils glibc libstdc++-v3 && emerge -P gcc && emerge -e system

Or...they could follow the migration guide we wrote. You don't rebuild all C++ apps against the new library, so things are going to break in fun ways. Atleast you had them merge libstdc++-v3 before pruning GCC and breaking python :)
_________________
Mark Loeser
http://www.halcy0n.com
Back to top
View user's profile Send private message
seren
Guru
Guru


Joined: 27 Aug 2005
Posts: 448
Location: Wisconsin

PostPosted: Sat Dec 03, 2005 2:26 am    Post subject: Reply with quote

Halcy0n wrote:
seren wrote:
and for those that want to upgrade do this

Code:
emerge --sync && emerge -u gcc && gcc-config i686-pc-linux-gnu-3.4.4 && source /etc/profile && emerge gcc binutils glibc libstdc++-v3 && emerge -P gcc && emerge -e system

Or...they could follow the migration guide we wrote. You don't rebuild all C++ apps against the new library, so things are going to break in fun ways. Atleast you had them merge libstdc++-v3 before pruning GCC and breaking python :)


fixed it ;) thanks.
the guide does the same. That single line will do the same its up to you i prefer a single line. ;)
Back to top
View user's profile Send private message
novazur
Guru
Guru


Joined: 19 Mar 2005
Posts: 461
Location: Martinique

PostPosted: Sat Dec 03, 2005 3:04 am    Post subject: Reply with quote

Problems started :

Code:
# emerge gcc
# gcc-config i686-pc-linux-gnu-3.4.4
# source /etc/profile
# revdep-rebuild --library libstdc++.so.5 -- -pv

gave me a long list...
Code:
# revdep-rebuild --library libstdc++.so.5
[...]
emerge --oneshot --nodeps  =app-accessibility/festival-1.4.3-r3 =sys-apps/groff-1.19.1-r2 =dev-lang/python-2.4.2 =app-admin/fam-2.7.0-r2 =app-arch/unrar-3.4.3 =app-cdr/dvd+rw-tools-5.21.4.10.8 =app-text/aspell-0.50.5-r4 =app-text/opensp-1.5.1 =app-text/openjade-1.3.2-r1 =app-text/sablotron-1.0.1 =dev-db/mysql-4.1.14 =dev-db/mysql++-1.7.26 =media-libs/tiff-3.7.3 =sys-libs/db-4.2.52_p2 =dev-libs/libpcre-6.3 =dev-php/php-4.4.0-r4 =dev-lang/swig-1.3.21 =dev-libs/libmix-2.05 =dev-libs/libusb-0.1.10a =dev-libs/pwlib-1.8.7 =dev-php/mod_php-4.4.0-r9 =media-libs/lcms-1.13-r1 =media-gfx/graphicsmagick-1.1.6-r1 =media-gfx/graphviz-1.16-r1 =media-gfx/imagemagick-6.2.4.2-r1 =media-libs/faac-1.24 =media-libs/faad2-2.0-r3 =media-video/ffmpeg-0.4.9_p20050226-r5 =net-analyzer/nmap-3.83 =net-dialup/mgetty-1.1.30-r2 =net-im/jit-1.1.6-r3 =net-libs/openh323-1.15.6 =net-im/ohphone-1.4.3_pre20050304 =net-misc/asterisk-1.2.0 =net-misc/gnugk-2.2.2 =net-misc/hylafax-4.2.2 =net-misc/netkit-telnetd-0.17-r6 =net-print/hpijs-1.7.1 =www-misc/htdig-3.1.6-r7
[...]

start with festival compiling, but very quickly a lot of errors and finishes with :
Code:
/usr/share/speech-tools/include/EST_TNamedEnum.h:153: error: there are no arguments to `initialise' that depend on a template parameter, so a declaration of `initialise' must be available
In file included from /usr/share/speech-tools/include/ling_class/EST_item_aux.h:46,
                 from /usr/share/speech-tools/include/EST_ling_class.h:52,
                 from /usr/share/speech-tools/include/EST.h:63,
                 from ../../../src/include/festival.h:44,
                 from festival.cc:44:
/usr/share/speech-tools/include/EST_features_aux.h: At global scope:
/usr/share/speech-tools/include/EST_features_aux.h:99: error: `void* pointer(const EST_Val&)' used prior to declaration


So, i tried emerge --resume, same error.
Tried to skip this one emerge --resume --skipfirst, compiling groff, errors again, but just :
Code:
i686-pc-linux-gnu-g++ -I. -I. -I/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/include -I/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/include -DHAVE_CONFIG_H -O2 -march=pentium4 -pipe -fomit-frame-pointer  -c searchpath.cpp
In file included from /usr/include/math.h:382,
                 from prime.cpp:1:
/usr/include/bits/mathinline.h: In function `long double __atan2l(long double,
   long double)':
/usr/include/bits/mathinline.h:433: error: `__builtin_atan2l' undeclared (first
   use this function)
/usr/include/bits/mathinline.h:433: error: (Each undeclared identifier is
   reported only once for each function it appears in.)
distcc[14718] ERROR: compile prime.cpp on 192.168.0.1 failed
make[2]: *** [prime.o] Error 1
make[2]: *** Waiting for unfinished jobs....


What have I to do please ?
Back to top
View user's profile Send private message
NightMonkey
Guru
Guru


Joined: 21 Mar 2003
Posts: 356
Location: Philadelphia, PA

PostPosted: Sat Dec 03, 2005 3:09 am    Post subject: Reply with quote

Any links to discussions/sites that might detail some compelling advantages to gcc 3.4 vs 3.3? Thanks in advance! :)
_________________
:D
Back to top
View user's profile Send private message
allucid
Veteran
Veteran


Joined: 02 Nov 2002
Posts: 1314
Location: atlanta

PostPosted: Sat Dec 03, 2005 5:16 am    Post subject: Reply with quote

big_gie wrote:
Time to get that cpu some work! :)

Is it safe to upgrade via a ssh connection? Since I'm not at work right now, I could use the weekend to upgrade. But I won't be able to be next to the machine. What do you think?

use gnu screen (emerge screen).
Back to top
View user's profile Send private message
seren
Guru
Guru


Joined: 27 Aug 2005
Posts: 448
Location: Wisconsin

PostPosted: Sat Dec 03, 2005 5:35 am    Post subject: Reply with quote

novazur wrote:
Problems started :


What have I to do please ?


do
Code:
emerge --info

and
Code:
gcc-config -l

if gcc 3.4.4 is the only one shown in gcc-config -l and it has a green star by it then do
Code:
emerge gcc libstdcc++-v3 binutils glibc && emerge -P gcc && emerge -system && emerge -e world

if not then make sure gcc 3.4.4 in selected in gcc-config by
Code:
gcc-config -l
and then rember the number gcc 3.4.4 is listed as then do
Code:
gcc-config (enter number)
after gcc is the selected compiler do
Code:
emerge gcc libstdcc++-v3 binutils glibc && emerge -P gcc && emerge -e system && emerge -e world
this will take a while but it works
Back to top
View user's profile Send private message
tuxp3
n00b
n00b


Joined: 28 May 2004
Posts: 61

PostPosted: Sat Dec 03, 2005 5:39 am    Post subject: Reply with quote

I like the way you are rolling out this update, but I looked over the upgrading guide and noticed a few things to be concerned with.

- No mention that revdep-rebuild will ALWAYS pick up some binary packages and they can be ignored 100%, just a generic warning that some packages, it might be useful to point out the specific type

- revdep-rebuild should be ran a second time without specifing libstdc++, becuase links to libraries that were recompiled should be recompiled. (aka, a program links to a library thats still linked to old libstdc++ should be recompiled so that the package is linked to the recompiled library which is linked to the new libstdc++)

just my $0.02

Tux
Back to top
View user's profile Send private message
tuxp3
n00b
n00b


Joined: 28 May 2004
Posts: 61

PostPosted: Sat Dec 03, 2005 5:45 am    Post subject: Reply with quote

novazur wrote:

So, i tried emerge --resume, same error.
Tried to skip this one emerge --resume --skipfirst, compiling groff, errors again, but just :
Code:
i686-pc-linux-gnu-g++ -I. -I. -I/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/include -I/var/tmp/portage/groff-1.19.1-r2/work/groff-1.19.1/src/include -DHAVE_CONFIG_H -O2 -march=pentium4 -pipe -fomit-frame-pointer  -c searchpath.cpp
In file included from /usr/include/math.h:382,
                 from prime.cpp:1:
/usr/include/bits/mathinline.h: In function `long double __atan2l(long double,
   long double)':
/usr/include/bits/mathinline.h:433: error: `__builtin_atan2l' undeclared (first
   use this function)
/usr/include/bits/mathinline.h:433: error: (Each undeclared identifier is
   reported only once for each function it appears in.)
distcc[14718] ERROR: compile prime.cpp on 192.168.0.1 failed
make[2]: *** [prime.o] Error 1
make[2]: *** Waiting for unfinished jobs....


What have I to do please ?


it looks like your running emerge with distcc.
distcc requires that you use the same version of gcc on both computers,
to fix this, go on the distcc slave computer and emerge the new compiler (its not nessacary to run the guide at the time due to slotting), then change the active compiler on the slave to be gcc 3.4 (gcc-config) and restart distccd and try the entire process again on the master, or simpiler disable distcc :-P

Distcc with gcc updates could turn out nasty tho.

Tux
Back to top
View user's profile Send private message
novazur
Guru
Guru


Joined: 19 Mar 2005
Posts: 461
Location: Martinique

PostPosted: Sat Dec 03, 2005 6:13 am    Post subject: Reply with quote

Sorry, I was waiting to totaly solve my problem before posting the solution.

For the second error, yeah, of course, I need to disable distcc, or to upgrade the other PC.

For the first one, I had to compil again speech-tools, and after that, festival compiled well.

revdep-rebuild is actualy finishing his job. All seems fine now.

Thanks to HalcyOn and ReJ on IRC channel.
Back to top
View user's profile Send private message
slycordinator
Advocate
Advocate


Joined: 31 Jan 2004
Posts: 3065
Location: Korea

PostPosted: Sat Dec 03, 2005 8:39 am    Post subject: Reply with quote

tuxp3 wrote:
- No mention that revdep-rebuild will ALWAYS pick up some binary packages and they can be ignored 100%, just a generic warning that some packages, it might be useful to point out the specific type


With gentoolkit versions > 0.2.0, you can Edit /etc/make.conf and add SEARCH_DIRS_MASK="/usr/lib/openoffice"

So now if I do revdep-rebuild, openoffice-bin won't be reinstalled.

And it wouldn't be a bad idea to add /opt to that list since most binary packages are installed there.
Though it would be cool if revdep-rebuild ignored all binary packages altogether.
Back to top
View user's profile Send private message
eelke
Guru
Guru


Joined: 17 May 2004
Posts: 406
Location: Earth, Netherlands, Friesland

PostPosted: Sat Dec 03, 2005 8:48 am    Post subject: Reply with quote

Quote:
Any links to discussions/sites that might detail some compelling advantages to gcc 3.4 vs 3.3? Thanks in advance!


Sure:

http://gcc.gnu.org/gcc-3.4/changes.html

To summarize:

GCC 3.4.x contains improved code generation resulting in more efficient code. Especially the C++ frontend has been improved to be much closer to the ISO standard. This could break compilation of code that isn't standard C++ but did compile with the old GCC. Also many constructs for C and Objective C have been deprecated which means they won't work in the next version.
Back to top
View user's profile Send private message
thomasvk
Guru
Guru


Joined: 19 Mar 2005
Posts: 597

PostPosted: Sat Dec 03, 2005 8:57 am    Post subject: Reply with quote

I wonder, if I weren't a forum crawler (a few friends of mine run Gentoo but never visit the forums), how would I know about the GCC upgrade guide?

EDIT: oh, it's on the front page www.gentoo.org ... nevermind. :P


Last edited by thomasvk on Sat Dec 03, 2005 11:23 am; edited 1 time in total
Back to top
View user's profile Send private message
slycordinator
Advocate
Advocate


Joined: 31 Jan 2004
Posts: 3065
Location: Korea

PostPosted: Sat Dec 03, 2005 9:14 am    Post subject: Reply with quote

It wouldn't be a bad idea to add a link to the upgrade guide at the end of the warnings when installing gcc.

Have an ewarn that says something like "If upgrading from a previous gcc installation go to http://link_to_guide "
Back to top
View user's profile Send private message
jkt
Retired Dev
Retired Dev


Joined: 06 Feb 2004
Posts: 1250
Location: Prague, Czech republic, EU

PostPosted: Sat Dec 03, 2005 12:35 pm    Post subject: Reply with quote

dirtyepic wrote:
you can build gcc-3.4 as part of your normal update. the new compiler is slotted and won't be used until you run gcc-config to specifically enable it.

well, it was, at least for me - see bug 114341
_________________
cd /local/pub && more beer > /dev/mouth

Česká dokumentace
Back to top
View user's profile Send private message
bandreabis
Advocate
Advocate


Joined: 18 Feb 2005
Posts: 2490
Location: イタリアのロディで

PostPosted: Sat Dec 03, 2005 12:46 pm    Post subject: Reply with quote

Code:
gcc-config i686-pc-linux-gnu-3.6.6

_________________
Il numero di post non fa di me un esperto! Anzi!
Back to top
View user's profile Send private message
Dammital
Apprentice
Apprentice


Joined: 05 Nov 2004
Posts: 189

PostPosted: Sun Dec 04, 2005 12:16 am    Post subject: Reply with quote

Should we clear the ccache after emerging gcc?
Back to top
View user's profile Send private message
/dev/random
l33t
l33t


Joined: 26 Nov 2004
Posts: 704
Location: Austin, Texas, USA

PostPosted: Sun Dec 04, 2005 4:12 am    Post subject: Reply with quote

Dammital wrote:
Should we clear the ccache after emerging gcc?

I didn't and things are going okay so far (package 228 of 1004...doing the emerge -e world method).
Back to top
View user's profile Send private message
St. Joe
Apprentice
Apprentice


Joined: 13 Apr 2005
Posts: 242
Location: USA

PostPosted: Sun Dec 04, 2005 4:42 am    Post subject: Reply with quote

/dev/random wrote:
Dammital wrote:
Should we clear the ccache after emerging gcc?

I didn't and things are going okay so far (package 228 of 1004...doing the emerge -e world method).

Yeah, I did a hybrid of the two methods and all went fine without clearing the ccache.
Nice to see a transition like that go so smoothly.
_________________
For every hammer there is a nail.
For every nail there is a thumb.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum