Using ~x86. Upgrading to gcc 3.4.3 through: emerge -uD world from gcc 3.3.4 doesn't recompile libsigc++, nor does the ebuild advise the user to do so. This results in bugs such as Bug 55268 and Bug 73743, which took a lot of time to figure out that a libsigc++ recompile was necessary after the compiler upgrade. Hence, I think that either the gcc ebuild itself should trigger libsigc++ to be recompiled (not sure if this is possible or not), or should at least contain a warning at the end of the build that tells the user to recompile libsigc++ if the user doesn't want to run into lots of trouble with C++ apps later. Reproducible: Always Steps to Reproduce: 1. emerge gcc 3.3.4, emerge libsigc++ using it. 2. emerge -uD world (with proper keywording to upgrade to gcc 3.4.3) 3. emerge glibmm Actual Results: glibmm fails to build due to libsigc++ not being recompiled after gcc update Expected Results: libsigc++ should have been recompiled, and glibmm suceeds to build. Portage 2.0.51-r14 (default-linux/x86/2004.2, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.10-gentoo-r1 i686) ================================================================= System uname: 2.6.10-gentoo-r1 i686 Intel(R) Pentium(R) M processor 2.00GHz Gentoo Base System version 1.6.8 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Aug 21 2004, 11:02:59)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r3 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -mfpmath=sse -mmmx -msse2" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -mfpmath=sse -mmmx -msse2" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gentoo.mirrors.pair.com/ http://gentoo.osuosl.org/ http://ftp-mirror.internap.com/pub/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aalib acpi alsa apm artworkextra avi berkdb bitmap-fonts cdr crypt cups dvd dvdr eds encode esd evo f77 fam flac font-server foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 guile hal imagemagick imap imlib ipv6 java jpeg ldap libg++ libwww mad mikmod mmx motif mozilla mpeg mysql ncurses nls nntp nptl oggvorbis opengl oss pam pdflib perl png python quicktime readline samba sdl slang spell sse ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts xine xml2 xmms xosd xv zlib" Unset: LDFLAGS
Switching between 3.3.x and 3.4.x compilers is not recommended when using C++. Just stick with 3.4.x and revdep-rebuild --soname libstdc++.so.5
Ok, but nowhere was it made apparent that is it "not recommended" to upgrade gcc, nor I should revdep-rebuild if I choose to upgrade. I think this bug must be resolved somehow if gcc 3.4.x is going to move to stable, as people would expect things to just work (or be warned that they won't work).