Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Upgrading your system to gcc 3.4(.4)
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4 ... 13, 14, 15  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
amne
Bodhisattva
Bodhisattva


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

PostPosted: Sat Dec 03, 2005 3:57 pm    Post subject: Re: Help, please! Reply with quote

Lori wrote:

Any hints how to recover without messing up my system even worse...?

http://dev.gentoo.org/~avenj/bins/i686/ has a tbz for gcc-3.3.4-r1.tbz2. Since emerge is broken you should just unpack it with tar. This should provide the missing libs and make emerge work again. If it works, emerge -k gcc 3.3.4-r1 again from the binary package (so portage is aware of it), gcc-config to 3.4.4 and do the upgrade. I hope things should work like that.
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
Kosa
Tux's lil' helper
Tux's lil' helper


Joined: 03 May 2005
Posts: 106
Location: Prague

PostPosted: Sat Dec 03, 2005 4:45 pm    Post subject: Reply with quote

Maybe stupid question, but there wasn't any note about recompiling kernel after emerge -e world. I bet I have to do this?
Back to top
View user's profile Send private message
schachti
Advocate
Advocate


Joined: 28 Jul 2003
Posts: 3765
Location: Gifhorn, Germany

PostPosted: Sat Dec 03, 2005 4:47 pm    Post subject: Reply with quote

Any hints about what's the best way to combine the update from gcc 3.3.6 to 3.4.4 with the update of KDE 3.4.3 to 3.5? If I upgrade to KDE 3.5 first, I have to recompile it with the new gcc, and if I first update gcc according to http://www.gentoo.org/proj/en/base/x86/gcc-upgrading-guide.xml (Safer method), it will recompile KDE 3.4.3 what I do not need to as I want to update to 3.5 afterwards...
_________________
Never argue with an idiot. He brings you down to his level, then beats you with experience.

How-To: Daten verschlüsselt auf DVD speichern.
Back to top
View user's profile Send private message
spartak
n00b
n00b


Joined: 29 Jan 2003
Posts: 22

PostPosted: Sat Dec 03, 2005 4:58 pm    Post subject: Reply with quote

hi, after following the guide and emerge -e system i error out on cpio with:

Code:
 undefined refrence to `__builtin_stpcpy`


so i try to recompile glibc and it errors out with the same:
ctpcpy and mempcpy undefined ref errors can someone please help?
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


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

PostPosted: Sat Dec 03, 2005 5:43 pm    Post subject: Reply with quote

Kosa wrote:
Maybe stupid question, but there wasn't any note about recompiling kernel after emerge -e world. I bet I have to do this?


Actually there is one:
Once kernel modules (e.g. app-emulation/qemu-softmmu) are rebuilt with GCC 3.4, they will not work with your old kernel anymore. Recompiling the kernel with 3.4 solves the problem.
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
thomasvk
Guru
Guru


Joined: 19 Mar 2005
Posts: 597

PostPosted: Sat Dec 03, 2005 5:47 pm    Post subject: Reply with quote

schachti wrote:
Any hints about what's the best way to combine the update from gcc 3.3.6 to 3.4.4 with the update of KDE 3.4.3 to 3.5? If I upgrade to KDE 3.5 first, I have to recompile it with the new gcc, and if I first update gcc according to http://www.gentoo.org/proj/en/base/x86/gcc-upgrading-guide.xml (Safer method), it will recompile KDE 3.4.3 what I do not need to as I want to update to 3.5 afterwards...


I've been thinking about this. What I'm going to do is first the GCC upgrade and later 3.5. I don't really bother with it recompiling 3.4 again. What I thought about was getting all of the 3.4 packages out of the world file and replace them with the 3.5 ones. That way emerge -e world will compile 3.5 and not 3.4.
But... I have no idea how sane this is and how much it will break anything.
Back to top
View user's profile Send private message
spectatorion
n00b
n00b


Joined: 12 Jul 2003
Posts: 35

PostPosted: Sat Dec 03, 2005 5:55 pm    Post subject: gcc 4.x Reply with quote

Will we have to recompile everything again for gcc 4.x when that becomes stable? I am just wondering if the 3.4.y binaries will be compatible with the 4.x binaries. Honestly, this could take me several days and unless there is some massively compelling reason to upgrade right now (besides being cutting edge, something I can live without) I think I'd be better off waiting until 4.x.
Back to top
View user's profile Send private message
Sho
n00b
n00b


Joined: 26 Sep 2002
Posts: 48

PostPosted: Sat Dec 03, 2005 6:05 pm    Post subject: Reply with quote

Problem with emerging libstdc++-v3:

Code:
gcc -DIN_GCC -DHAVE_CONFIG_H -O2 -march=athlon-xp -pipe -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -DGENERATOR_FILE  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long  -I. -I.. -I/var/tmp/portage/libstdc++-v3-3.3.4/work/gcc-3.3.4/gcc/fixinc -I/var/tmp/portage/libstdc++-v3-3.3.4/work/gcc-3.3.4/gcc/fixinc/.. -I/var/tmp/portage/libstdc++-v3-3.3.4/work/gcc-3.3.4/gcc/fixinc/../config -I/var/tmp/portage/libstdc++-v3-3.3.4/work/gcc-3.3.4/gcc/fixinc/../../include  -o fixincl fixincl.o fixtests.o fixfixes.o server.o procopen.o gnu-regex.o fixlib.o /var/tmp/portage/libstdc++-v3-3.3.4/work/build/gcc/../libiberty/libiberty.a
gnu-regex.o: In function `regerror':
gnu-regex.c:(.text+0x56a6): undefined reference to `__builtin_mempcpy'
collect2: ld returned 1 exit status


Any ideas?
Back to top
View user's profile Send private message
Sho
n00b
n00b


Joined: 26 Sep 2002
Posts: 48

PostPosted: Sat Dec 03, 2005 6:29 pm    Post subject: Reply with quote

After a reboot, the above failure has been mysteriously replaced by this one:

Code:
gcc -c   -march=athlon-xp -O2 -pipe -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long   -DHAVE_CONFIG_H -DGENERATOR_FILE    -I. -I. -I/var/tmp/portage/libstdc++-v3-3.3.4/work/gcc-3.3.4/gcc -I/var/tmp/portage/libstdc++-v3-3.3.4/work/gcc-3.3.4/gcc/. -I/var/tmp/portage/libstdc++-v3-3.3.4/work/gcc-3.3.4/gcc/config -I/var/tmp/portage/libstdc++-v3-3.3.4/work/gcc-3.3.4/gcc/../include /var/tmp/portage/libstdc++-v3-3.3.4/work/gcc-3.3.4/gcc/read-rtl.c -o read-rtl.o
gengtype-yacc.o: In function `yyparse':
gengtype-yacc.c:(.text+0x985): undefined reference to `__builtin_stpcpy'
gengtype-yacc.c:(.text+0x9b6): undefined reference to `__builtin_stpcpy'
gengtype-yacc.c:(.text+0xb2b): undefined reference to `__builtin_stpcpy'
gengtype-yacc.c:(.text+0xb40): undefined reference to `__builtin_stpcpy'
collect2: ld returned 1 exit status
Back to top
View user's profile Send private message
spartak
n00b
n00b


Joined: 29 Jan 2003
Posts: 22

PostPosted: Sat Dec 03, 2005 6:34 pm    Post subject: Reply with quote

spartak wrote:
hi, after following the guide and emerge -e system i error out on cpio with:

Code:
 undefined refrence to `__builtin_stpcpy`


so i try to recompile glibc and it errors out with the same:
ctpcpy and mempcpy undefined ref errors can someone please help?


fixed by removing distcc out of my FEATURES var in make.conf
Back to top
View user's profile Send private message
Luc484
Veteran
Veteran


Joined: 26 Mar 2005
Posts: 1035
Location: Italy

PostPosted: Sat Dec 03, 2005 6:38 pm    Post subject: Reply with quote

Sorry for the stupid question, but this is the first time I'm doing such things. I was running step by step the migration guide, and did emerge -e -a world (already made the other steps). I found out a list of 779 packages, but the output says he wants to emerge new packages. I mean that each package was precedeed by [ebuild N ]. Is it correct? Shouldn't it be [ebuild R ]? I ran it anyway only some minutes ago, but now I have the doubt. Is it correct?
Back to top
View user's profile Send private message
thomasvk
Guru
Guru


Joined: 19 Mar 2005
Posts: 597

PostPosted: Sat Dec 03, 2005 6:40 pm    Post subject: Reply with quote

emerge -e pretends that the packages aren't installed yet, to get everything. That's why it's N and not R (see man emerge :P)
Back to top
View user's profile Send private message
mahatma
n00b
n00b


Joined: 01 Sep 2005
Posts: 7

PostPosted: Sat Dec 03, 2005 6:47 pm    Post subject: Installing from stage1 2005.1-r1 Reply with quote

Are need something more then usual bootstrap.sh + "emerge -e system" for new snapshot (gcc 3.4.4) and stage1 from 2005.1-r1?
Back to top
View user's profile Send private message
Luc484
Veteran
Veteran


Joined: 26 Mar 2005
Posts: 1035
Location: Italy

PostPosted: Sat Dec 03, 2005 6:48 pm    Post subject: Reply with quote

Quote:
emerge -e pretends that the packages aren't installed yet, to get everything. That's why it's N and not R (see man emerge :P)


Thanks for the answer. I already saw that, but the doubt came out anyway. The strange thing I can't explain is that the same command told me two or three times that some packages it wanted to emerge required another package that was marked by ~x86. So I solved adding those packages to package.keywords. But, having not done any sync, shouldn't any of my packages be already in that file, since I actually have it installed in the system?
Back to top
View user's profile Send private message
Sho
n00b
n00b


Joined: 26 Sep 2002
Posts: 48

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

spartak wrote:

fixed by removing distcc out of my FEATURES var in make.conf


Indeed, removing distcc and ccache from my FEATURES remedied what problems I had with llibstdc++.

I suggest a warning be added to the migration guide.
Back to top
View user's profile Send private message
hamburger
n00b
n00b


Joined: 03 Dec 2005
Posts: 1

PostPosted: Sat Dec 03, 2005 8:11 pm    Post subject: unmerging gcc 3.3.x / shortcut to new compiler options Reply with quote

For me, the main reason to migrate to gcc 3.4.x is to take advantage of the new march=pentium-m.

Obviously I don't like to recompile all packages twice (first time as described in the migration guide, second time after changing CFLAGS) so I'am tempted to do the following:

# emerge -uav gcc
# gcc-config i686-pc-linux-gnu-3.4.4
# source /etc/profile

# emerge -1 sys-libs/libstdc++-v3

# emerge -aC =sys-devel/gcc-3.3*
<change CFLAGS>


# emerge -e system
# emerge -e world

As I understood, this way I'am taking the risk, that some applications won't run during the re-emerge or after a possible error during the re-emerge.

I'am I right ?
Are there any other risks/objections ?
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


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

PostPosted: Sat Dec 03, 2005 8:27 pm    Post subject: Re: unmerging gcc 3.3.x / shortcut to new compiler options Reply with quote

hamburger wrote:

As I understood, this way I'am taking the risk, that some applications won't run during the re-emerge or after a possible error during the re-emerge.

Gcc 3.3.6 gets recompiled as a dependency of gcc 3.4.4 during emerge -e system/world. If you provide libstdc++v3 before that like you do, it should work, even if you don't unmerge gcc 3.3.6 (because it's no longer a dependency then).
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
VStrider
Apprentice
Apprentice


Joined: 27 Jun 2005
Posts: 244
Location: 1 to Rule All way, Moria Gate, Middle Earth, SAU 70N

PostPosted: Sat Dec 03, 2005 8:56 pm    Post subject: Reply with quote

amne wrote:
There were some problems with gcc-config switching back to 3.3.x when running emerge -e system/world, so the guide wa s changed to emerge libstdc++v3 before that (it doesn't get merged then at all, hence no switching around). Changes will go live in a few minutes.
About the initial paragraph saying nothing happens, it will most likely be changed soon. ;)

Yeah, I caught that and hit ^C after 3.3.6 emerged, switched back to 3.4.4 and resumed emerge.

I should be ok now, yes?
Back to top
View user's profile Send private message
ProTech
Tux's lil' helper
Tux's lil' helper


Joined: 30 Dec 2003
Posts: 88
Location: Hungary

PostPosted: Sat Dec 03, 2005 10:01 pm    Post subject: Re: gcc 4.x Reply with quote

spectatorion wrote:
Will we have to recompile everything again for gcc 4.x when that becomes stable? I am just wondering if the 3.4.y binaries will be compatible with the 4.x binaries. Honestly, this could take me several days and unless there is some massively compelling reason to upgrade right now (besides being cutting edge, something I can live without) I think I'd be better off waiting until 4.x.


I think GCC 4.0 is binary compatible with GCC 3.4. So you don't have to reemerge everything to upgrade to GCC 4.0. I don't think GCC 4.0 will be stable soon (maybe 2006 christmas :).

I usually recompile my whole system at the begining of January. So this GCC upgrade is scheduled for this time.

Currently I doing a fresh install on a laptop, it looks good for now. I don't like this new stage3 install thing. I have to migrate the system from 3.3.6 to 3.4.4 in a fresh install. Stage1 is not working if you change the CHOST to i686 (I know it's cosmetic..). I have to recompile the gcc two times anyway to get it pentium-m optimized. I really hate to sort out witch packages to rebuilt and witch are not if an emerge -e world fails (gcc 3.3.6 with pentium-m CFLAG, pango with doc USE falg).
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


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

PostPosted: Sat Dec 03, 2005 10:02 pm    Post subject: Reply with quote

VStrider wrote:

Yeah, I caught that and hit ^C after 3.3.6 emerged, switched back to 3.4.4 and resumed emerge.

I should be ok now, yes?

I think so, yes. The bug is fixed and will hit rsync mirrors pretty soon.
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
LXj
Tux's lil' helper
Tux's lil' helper


Joined: 03 Dec 2005
Posts: 107

PostPosted: Sat Dec 03, 2005 10:21 pm    Post subject: Reply with quote

schachti wrote:
Any hints about what's the best way to combine the update from gcc 3.3.6 to 3.4.4 with the update of KDE 3.4.3 to 3.5? If I upgrade to KDE 3.5 first, I have to recompile it with the new gcc, and if I first update gcc according to http://www.gentoo.org/proj/en/base/x86/gcc-upgrading-guide.xml (Safer method), it will recompile KDE 3.4.3 what I do not need to as I want to update to 3.5 afterwards...


For all those guys who don't want to compile something more than once 8)

1)
Code:

LX ~ # cat >/usr/local/bin/get-packages
#!/bin/bash
emerge -p  $* | colrm 1 16 | grep "[a-zA-Z\-]*/[0-9a-zA-Z\-]*" | sed "s/\[.*//" | sed "s/.*/=\0/"
^D
LX ~ # chmod +x /usr/local/bin/get-packages
LX ~ # /usr/local/bin/get-packages -e system > system
LX ~ # /usr/local/bin/get-packages -e world | grep -vFf system | grep -v "kde-base" >world

Skip "| grep -v "kde-base"" if you are going to remerge KDE!

2)Edit system & world if you want not to remerge some packages

3)
Code:
emerge -1O `cat system world`
-- instead of
Code:
emerge -e system && emerge -e world


4) Unmerge old gcc, emerge kde-meta
Back to top
View user's profile Send private message
Akaihiryuu
l33t
l33t


Joined: 08 May 2003
Posts: 751
Location: Columbus, OH

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

I have a question about this, right after the gcc 3.4 emege:

Warning: Do not set any GCC 3.4-specific CFLAGS such as -march=pentium-m at this time. Doing so could cause failures in your compiles. You can set these flags after you remove gcc-3.3, which will not recognize them.

So you have to emerge -e system, emerge -e world BEFORE you set cflags like -march=pentium-m? Does this mean that if you want to set something like that, you have to set it after that and then emerge -e system ; emerge -e world AGAIN after that? I'd really rather not do that if it's not necessary. Why isn't it safe to set GCC 3.4 CFLAGS right after you switch to gcc-3.4 with gcc-config?
Back to top
View user's profile Send private message
Paapaa
l33t
l33t


Joined: 14 Aug 2005
Posts: 955
Location: Finland

PostPosted: Sat Dec 03, 2005 11:27 pm    Post subject: Reply with quote

Akaihiryuu wrote:
I have a question about this, right after the gcc 3.4 emege:

Warning: Do not set any GCC 3.4-specific CFLAGS such as -march=pentium-m at this time. Doing so could cause failures in your compiles. You can set these flags after you remove gcc-3.3, which will not recognize them.

So you have to emerge -e system, emerge -e world BEFORE you set cflags like -march=pentium-m? Does this mean that if you want to set something like that, you have to set it after that and then emerge -e system ; emerge -e world AGAIN after that? I'd really rather not do that if it's not necessary. Why isn't it safe to set GCC 3.4 CFLAGS right after you switch to gcc-3.4 with gcc-config?


I'm guessing, but it should be safe to change CFLAGS after the first "emerge -e system" just before "emerge -e world". After changing cflags you then have to "emerge -e system" again. And finally "emerge -e world".

I guess the problem is that the whole toolchain should be built with gcc-3.4.4 before it is 100% complete. Before the first "emerge -e system" gcc-3.4.4 is built with gcc.3.3 so it is not complete. That causes the warning. But I'm just guessing.
Back to top
View user's profile Send private message
Akaihiryuu
l33t
l33t


Joined: 08 May 2003
Posts: 751
Location: Columbus, OH

PostPosted: Sat Dec 03, 2005 11:29 pm    Post subject: Reply with quote

Okay, that makes sense. emerge -e system should recompile any packages that are necessary to fully utilize GCC 3.4. I'll give that a shot. Still compiling gcc-3.4.4 right now. Will update this message when I know if that works or not. It's my server, so hopefully I don't mess it up, or I'll have some mad roommates when they can't get online. ;P

Last edited by Akaihiryuu on Sat Dec 03, 2005 11:33 pm; edited 1 time in total
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


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

PostPosted: Sat Dec 03, 2005 11:29 pm    Post subject: Reply with quote

The problem was that emerge -e world also built gcc 3.3.6, which failed. As the guide has been changed and libstdc++v3 gets installed before emerge -e it should no longer build 3.3.6 anyway, so it should be possible. Can't guarantee it though.

edit: On second thought emerge -e world may still rebuild gcc 3.3.6, which could cause trouble. Personally i'd be interested if it works for you, but if you want things to be safe changing CFLAGS after the updated still is recommended.
_________________
Dinosaur week! (Ok, this thread is so last week)


Last edited by amne on Sat Dec 03, 2005 11:39 pm; edited 1 time in total
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page Previous  1, 2, 3, 4 ... 13, 14, 15  Next
Page 3 of 15

 
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