When I emerge gcc (both versions 3.3.5-r1 and 3.4.3.20050110) the g++ binaries are not built, but the emerge completes sucessfully. Reproducible: Always Steps to Reproduce: ACCEPT_KEYWORDS="~x86" emerge gcc Actual Results: g++ not compiled or installed Expected Results: g++ should be compiled and installed emerge info /usr/src/linux Portage 2.0.51-r2 (default-linux/x86/2004.3, gcc-20050110, glibc-2.3.4.20040808-r1, 2.6.11-gentoo-r3 i686) ================================================================= System uname: 2.6.11-gentoo-r3 i686 Mobile Intel(R) Pentium(R) 4 CPU 3.20GHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.13,sys-devel/autoconf-2.59-r6 Automake: sys-devel/automake-1.5,sys-devel/automake-1.8.5-r3,sys-devel/automake-1.7.9-r1,sys-devel/automake-1.9.4,sys-devel/automake-1.6.3,sys-devel/automake-1.4_p6 Binutils: sys-devel/binutils-2.15.92.0.2-r6 Headers: sys-kernel/linux-headers-2.4.22-r1 Libtools: sys-devel/libtool-1.5.10-r4 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://gentoo.mirrors.pair.com/ ftp://gentoo.mirrors.pair.com/ http://gentoo.mirrors.tds.net/gentoo ftp://gentoo.mirrors.tds.net/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="x emerge info /usr/src/linux Portage 2.0.51-r2 (default-linux/x86/2004.3, gcc-20050110, glibc-2.3.4.20040808-r1, 2.6.11-gentoo-r3 i686) ================================================================= System uname: 2.6.11-gentoo-r3 i686 Mobile Intel(R) Pentium(R) 4 CPU 3.20GHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.13,sys-devel/autoconf-2.59-r6 Automake: sys-devel/automake-1.5,sys-devel/automake-1.8.5-r3,sys-devel/automake-1.7.9-r1,sys-devel/automake-1.9.4,sys-devel/automake-1.6.3,sys-devel/automake-1.4_p6 Binutils: sys-devel/binutils-2.15.92.0.2-r6 Headers: sys-kernel/linux-headers-2.4.22-r1 Libtools: sys-devel/libtool-1.5.10-r4 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://gentoo.mirrors.pair.com/ ftp://gentoo.mirrors.pair.com/ http://gentoo.mirrors.tds.net/gentoo ftp://gentoo.mirrors.tds.net/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="x86 X alsa apm arts avi berkdb bitmap-fonts cdr crypt cups curl dvd dvdr emboss encode fam font-server foomaticdb fortran gdbm gif gpm gtk2 imagemagick imlib ipv6 java jpeg junit kde libg++ libwww mad mikmod mmx motif mp3 mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl spell sse sse2 ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts xml2 xmms xv zlib" 86 X alsa apm arts avi berkdb bitmap-fonts cdr crypt cups curl dvd dvdr emboss encode fam font-server foomaticdb fortran gdbm gif gpm gtk2 imagemagick imlib ipv6 java jpeg junit kde libg++ libwww mad mikmod mmx motif mp3 mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl spell sse sse2 ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts xml2 xmms xv zlib"
Created attachment 53613 [details] end of emerge This is the end of the output from the emerge command.
Created attachment 53614 [details] output of equery files gcc
same Problem on ~amd64
Try this patch: -------------- Index: eclass/toolchain.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v retrieving revision 1.127 diff -u -r1.127 toolchain.eclass --- eclass/toolchain.eclass 16 Mar 2005 06:35:22 -0000 1.127 +++ eclass/toolchain.eclass 16 Mar 2005 16:25:15 -0000 @@ -1942,7 +1942,7 @@ } is_cxx() { - gcc-lang-supported cxx || return 1 + gcc-lang-supported 'c++' || return 1 use build && return 1 use ! nocxx }
*** Bug 85516 has been marked as a duplicate of this bug. ***
Just in case it is not clear, do the fix in comment #4, and remerge gcc.
For those that have emerge bork on python needing libstdc++, here are 3.3.4 binary packages (should work for 3.3.5 systems): http://dev.gentoo.org/~avenj/bins/ Jus get the one for your arch, and do: # tar -jxpf gcc-3.3.4.tbz2 -C / I will try to get 3.4.3 ones in a bit.
The patch works for me.
Hmm, excellent. I am running stable (not ~x86) and can
Hmm, excellent. I am running stable (not ~x86) and can´t even run 'man man' after upgrading glibc and re-merging gcc... Argh! :-((( groff: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory Going to download the gcc binary and try the patch now. :/
If you happen to have OpenOffice installed, you can mv /opt/OpenOffice/program/libstdc++.so.5 /usr/lib in case you can't even run wget.
Ok, an i586 gcc-3.4.3.20050110 bin can be found here: http://dev.gentoo.org/~azarah/bins/
Ok, also a few amd64 bins for 3.4.x at url in comment #11.
The patch works. Thanks for the binaries. Please fix the eclass immediately until more people have their systems borked - many people are used to re-emerge gcc after glibc upgrade.
Already done, should hopefully be on all the mirrors by now, as I think it was about 4 hours ago.
Any chance of providing some amd64 binaries for gcc? I can't fix my system until I have some.
Pardon me, they're bins at comment 11, but they're 403: Forbidden, can someone fix that?
Gabriel, I just tried and don
Gabriel, I just tried and don´t get 403.
Well thats incredibly odd, its definitely 403 here. I'll try to grab it from my webhost in vancouver...
Now checked by several friends, on other links, definitely 403
Ditto... wget http://dev.gentoo.org/~azarah/bins/i586/gcc-3.4.3.20050110.tbz2 --16:27:16-- http://dev.gentoo.org/%7Eazarah/bins/i586/gcc-3.4.3.20050110.tbz2 => `gcc-3.4.3.20050110.tbz2' Resolving dev.gentoo.org... 134.68.220.30 Connecting to dev.gentoo.org[134.68.220.30]:80... connected. HTTP request sent, awaiting response... 403 Forbidden 16:27:19 ERROR 403: Forbidden. Can we get another host on this?
Try again, should be fine now, sorry.
Jeremy, some help will be appreciated since uhm ... its not my screwup? Need a binary i586 package for gcc-3.4.3, as I did forgot to check in the chaos of yesterday to check if its fixed on amd64.g.o, and now the gcc I uploaded still do not have libstdc++ (and some users in #gentoo already had issues with this).
Also ppc/sparc/whatever you have.
why exactly do we need binpkgs for users ? from what i can tell, the typo here just built a gcc w/out C++ support ... ok, no big deal, it's the same thing as doing `USE=nocxx emerge gcc` ... which is to say, users should have no problems doing `emerge sync && emerge gcc` and having the re-emerged gcc include both C and C++ support
Because after the recent changes to python, it links to libstdc++ ...
Ok, updated the gcc-3.4.3 i586 binaries, and also added a 3.3.5 one.
How about a gcc 3.3.5 for i586? As long as I can get emerge to work I can probably put back the binary packages I made earlier. Or is it enough to unpack /usr/portage/packages/All/gcc-3.3.5-r1.tbz2 ?
There is one: http://dev.gentoo.org/~azarah/bins/i586/gcc-3.3.5-r1.tbz2 Just do: tar -jxpf gcc-3.3.5-r1.tbz2 -C /
*** Bug 85590 has been marked as a duplicate of this bug. ***
This still hasn't been fixed in Portage? I started a new install because of this, only to find it too appears to have this problem. And yes, I tried untarring the package as described and it fails after that just as it does before.
well, for me it worked already. yesterday after the first posts i emrege sync'd and rebuilt gcc cautiously with 'emerge -avB gcc' to only build a package and verify its content and all libraries were present. an emerge -k gcc finally did the install.
That's very nice. It didn't work for me on two installation bases, using the packages for gcc and python (you never know) provided at http://dev.gentoo.org/~azarah/bins/i586/ .
I did an emerge sync && emerge system after a successful bootstrap, long after the problem was known and purportedly fixed in Portage. I still don't have a working system (well, the NFS-rooted webcam server actually still runs, but it surely won't after the next reboot. If anything fails now and has to be restarted, that will surely be the end of it.)
I was able to FIX my seemingly very special and rare problem (I can now run env-update and emerge again, currently re-merging fresh gcc and python) by making two symlinks in /usr/lib: libgcc_s.so.1 -> /usr/lib/gcc-lib/i586-pc-linux-gnu/3.3.5/libgcc_s.so.1 libstdc++.so.5 -> /usr/lib/gcc-lib/i586-pc-linux-gnu/3.3.5/libstdc++.so.5
Did you rerun gcc-config ?
A general approach to regaining a half-decent system again would thus look like this: 1. Download the appropriate gcc package 1.a. from http://dev.gentoo.org/~azarah/bins/ or 1.b. from a friendly user willing to do 'quickpkg sys-devel/gcc' for the same arch and version and to send you the (hopefully working) .tbz2. 2. Untar the package using 'tar xpjf gcc-*.tbz2 -C /' 3. Create two symlinks using: 3.a. 'ln -s /usr/lib/gcc-lib/i586-pc-linux-gnu/3.3.5/libgcc_s.so.1 /usr/lib/libgcc_s.so.1' and 3.b. 'ln -s /usr/lib/gcc-lib/i586-pc-linux-gnu/3.3.5/libstdc++.so.5 /usr/lib/libstdc++.so.5' 4. Re-merge gcc like so: 'env-update && . /etc/profile && emerge gcc'
Actually you should rather just run gcc-config (might bork on env-update), and then make sure /usr/lib/gcc-lib/i586-pc-linux-gnu/3.3.5/ (or whatever) is in /etc/ld.so.conf. If not, env-update.sh might fix that, as its all bash/awk.
I put up libstdc++.so.[56] for sparc32 (v8), sparc64 (32bit, v8plus), amd64, and i686 in my devspace as well... http://dev.gentoo.org/~eradicator/gcc/grp/
This bug is alive and well, just hit me on amd64
(In reply to comment #39) > This bug is alive and well, just hit me on amd64 And on x86. I did an emerge --sync and download yesterday (6/2/05) and did the emerge today. I'm going to try patching the eclass as suggested and re-emerge, as the things I did to fix it were ... unclean, shall we say.
(In reply to comment #40) > I'm going to try patching the eclass as suggested and re-emerge... No, I'm not. The toolchain.eclass file already has the correction in it. I remember copying libstdc++.so.5 from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130 to /usr/lib, and editing /etc/env.d/gcc/config to point to "i686-pc-linux-gnu-3.3.5-20050130" instead of "i686-pc-linux-gnu-3.3.5". If you're looking for a fix, all the pieces SEEM to work, but I don't guarantee this is everything I did, and I will damn near guarantee it wasn't the right way to fix it. (I didn't see this bug until I was working again - I was going by what was on the AMD64 bug.) Since the only proposed fix (unless I've gone blind) has already been done, I don't see any point in re-emerging. If any of you who actually know what you're doing recommend that I back my changes, let me know. I'm not worried if it will just leave a leftover file or two.
This problem is still occuring. I did a stage3 pentium 3-current install yesterday and then did an "emerge world -uDpv" and I started getting the libstdc++ missing error. My fix involved creating the two symlinks mentioned above from the latest gcc-lib directory and then running "gcc-config 1" This solved the problem. Could it be that updating GCC causes the two symlinks to be deleted?
I just hit this bug on the use of "emerge --deep --update --newuse," so I think letting folks know of the fix beyond that in this bug may be worth while. Re-symlinking, running "gcc-config 1", and "source /etc/profile" fixed it for me.
for anyone that has ran into this error and python doesn't work because of missing libstdc++5.. do: cp /usr/lib/gcc-lib/i686-pc-linux-gnu/<version-no>/libstdc++.so.5 /usr/lib it's dirty but it will get you back on track..
(In reply to comment #44) > for anyone that has ran into this error and python doesn't work because of > missing libstdc++5.. do: > > cp /usr/lib/gcc-lib/i686-pc-linux-gnu/<version-no>/libstdc++.so.5 /usr/lib > > it's dirty but it will get you back on track.. I think it's better to do a ln -s instead of a cp, this is: ln -s /usr/lib/gcc-lib/i686-pc-linux-gnu/<version-no>/libstdc++.so.5 /usr/lib
i guess i should have mentioned that it should only be a temporaly fix and not a permanent one..
(In reply to comment #45) > (In reply to comment #44) > > for anyone that has ran into this error and python doesn't work because of > > missing libstdc++5.. do: > > > > cp /usr/lib/gcc-lib/i686-pc-linux-gnu/<version-no>/libstdc++.so.5 /usr/lib > > > > it's dirty but it will get you back on track.. > > I think it's better to do a ln -s instead of a cp, this is: > > ln -s /usr/lib/gcc-lib/i686-pc-linux-gnu/<version-no>/libstdc++.so.5 /usr/lib > P.S my gcc-3.4.4 version came with libstdc++.so.6 not libstdc++.so.5, & that's why i copied it, because that's what python was looking for. even thought i switch to the gcc 3.4.4 profile and that didn't even have libstdc++.so.5 , only 3.3.5 had it.. eitherway, i'm back on track..
(In reply to comment #47) > (In reply to comment #45) > > (In reply to comment #44) > > > for anyone that has ran into this error and python doesn't work because of > > > missing libstdc++5.. do: > > > > > > cp /usr/lib/gcc-lib/i686-pc-linux-gnu/<version-no>/libstdc++.so.5 /usr/lib > > > > > > it's dirty but it will get you back on track.. > > > > I think it's better to do a ln -s instead of a cp, this is: > > > > ln -s /usr/lib/gcc-lib/i686-pc-linux-gnu/<version-no>/libstdc++.so.5 /usr/lib > > > > P.S my gcc-3.4.4 version came with libstdc++.so.6 not libstdc++.so.5, & that's > why i copied it, because that's what python was looking for. even thought i > switch to the gcc 3.4.4 profile and that didn't even have libstdc++.so.5 , only > 3.3.5 had it.. eitherway, i'm back on track.. Today I switched from gcc-3.3.5 to 3.4.4. I had g++ and libstdc++.so.6, but no libstdc++.so.5. I "fixed" that by using the lib from OpenOffice. But what is the right action to get the libstdc++.so.5 back? When i try to emerge libstdc++-v3, it always wants to install an old gcc-3.3.6, which i don't want to have installed. Thanks, max
(In reply to comment #48) > (In reply to comment #47) > > (In reply to comment #45) > > > (In reply to comment #44) okay, the old gcc is only pulled for compiling the libs, it's not installed and used for anything else. So emerge this libstdc++-v3 should be the standard behaviour, to get libstdc++.so.5 with gcc-3.4.4?
(In reply to comment #49) > (In reply to comment #48) > > (In reply to comment #47) > > > (In reply to comment #45) > > > > (In reply to comment #44) > > okay, the old gcc is only pulled for compiling the libs, it's not installed and > used for anything else. > So emerge this libstdc++-v3 should be the standard behaviour, to get > libstdc++.so.5 with gcc-3.4.4? apperantly gcc-3.4.4 doesn't contain libstdc++.so.5 anymore but libstdc++.so.6. so you will not be able to use libstdc++.so.5 unless you switch profiles to <=gcc-3.3.5 which uses libstdc++.so.5,.. so gcc-3.3.4 "does 3.3.5 has the same?" has: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.so.5 -> libstdc++.so.5.0.6 and gcc-3.4.4 has: /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libstdc++.so.6 -> libstdc++.so.6.0.3 libstdc++-v3-3.3.6 puts the lib in /usr/lib/libstdc++-v3 dunno if that is related to anything gcc with gcc-config.. good luck Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.11-gentoo-r3 i686) ================================================================= System uname: 2.6.11-gentoo-r3 i686 Pentium III (Coppermine) Gentoo Base System version 1.6.13 dev-lang/python: 2.4.1-r1 sys-apps/sandbox: 1.2.11 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium3 -pipe -mmmx -msse -mfpmath=sse -maccumulate-outgoing-args -fforce-addr -ftracer -fomit-frame-point er -fprefetch-loop-arrays -falign-functions=4" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /etc/X11/xdm/Xaccess /etc/X11/xdm/xdm-config /etc/X11/xorg.conf /etc/apf/conf.apf /etc/modules.autoload.d /kernel-2.6 /etc/portage /etc/ssh/sshd_config /lib/X11/xkb /opt/vmware/bin/vmware-config.pl /usr/X11R6 /usr/X11R6/bin/startx / usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11 /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/contro l" CONFIG_PROTECT_MASK="/etc/X11/xdm/Xservers /etc/apf/conf.apf /etc/gconf /etc/init.d/bootmisc /etc/init.d/localmount /etc/secur ity/limits.conf /etc/terminfo /usr/X11R6/bin/startx /etc/env.d" CTARGET="i686-pc-linux-gnu" CXXFLAGS="-O2 -march=pentium3 -pipe -mmmx -msse -mfpmath=sse -maccumulate-outgoing-args -fforce-addr -ftracer -fomit-frame-poi nter -fprefetch-loop-arrays -falign-functions=4" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig candy ccache distlocks fixpackages sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://mirrors.tds.net/gentoo/distfiles http://mirror.datapipe.net/gentoo/distfiles http://distfiles.gentoo.or g" LDFLAGS="-Wl,-O1 -Wl,--sort-common" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/fluidportage/trunk /usr/local/pub-overlay /usr/local/bmg-gnome /usr/local/bmg-main /usr/local/flam e-portage /usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="alsa apm bash-completion bcmath bitmap-fonts bzlib crypt ctype cups emboss fortran gdbm gif gnustep gnutls gpm gtk imagem agick imlib ipv6 lcms ldap libg++ mad maildir mbox memlimit mhash mime mmx motif mp3 mpi ncursers ncurses nls nptl nptlonly os s pam perl pie python readline sasl sdk sdl sndfile snmp sockets socks5 spell sse ssl stroke svg svga symlink tiff truetype ty pe1-fonts unicode usb x86 xml2 xmlrpc xmms xosd xpm xsl zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, LANG, LC_ALL, LINGUAS
If you upgrade from gcc-3.3.x to gcc-3.4.x, you will have to rebuild world (why gcc's is usually locked in profile). And this is not related to this bug, but something you should rather not do if you are not sure what you are doing.