after updating gcc from 4.5.4 to 4.6.3 install is successful. run gcc-config x86_64-pc-linux-gnu-4.6.3 is successful. emerge --depclean is successful and older version is removed but at the output stage the following is displayed: moya ~ # emerge --depclean * Depclean may break link level dependencies. Thus, it is * recommended to use a tool such as `revdep-rebuild` (from * app-portage/gentoolkit) in order to detect such breakage. * * Always study the list of packages to be cleaned for any obvious * mistakes. Packages that are part of the world set will always * be kept. They can be manually added to this set with * `emerge --noreplace <atom>`. Packages that are listed in * package.provided (see portage(5)) will be removed by * depclean, even if they are part of the world set. * * As a safety measure, depclean will not remove any packages * unless *all* required dependencies have been resolved. As a * consequence, it is often necessary to run `emerge --update * --newuse --deep @world` prior to depclean. Calculating dependencies... done! >>> Calculating removal order... sys-devel/gcc selected: 4.5.4 protected: none omitted: 4.6.3 All selected packages: sys-devel/gcc-4.5.4 >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging (1 of 1) sys-devel/gcc-4.5.4... * The current gcc config appears valid, so it will not be * automatically switched for you. If you would like to * switch to the newly installed gcc version, do the * following: * gcc-config x86_64-pc-linux-gnu-4.5.4 * source /etc/profile note two things here; first off it is giving the user the old version of gcc that was just uninstalled; and second and more importantly this message shouldn't even be there, if you look through toolchain.eclass where it displays that msg, it mentions *NOT* being called in the pre/post-rm functions. I have been able to reproduce this on there separate test beds. heres the output of emerge --info: taylon ~ # emerge --info Portage 2.1.11.31 (default/linux/amd64/10.0/server, gcc-4.6.3, glibc-2.15-r3, 3.6.11-gentoo x86_64) ================================================================= System uname: Linux-3.6.11-gentoo-x86_64-AMD_Opteron-tm-_Processor_4180-with-gentoo-2.1 Timestamp of tree: Thu, 10 Jan 2013 22:45:01 +0000 ld GNU ld (GNU Binutils) 2.22 app-shells/bash: 4.2_p37 dev-lang/python: 2.7.3-r2, 3.2.3 dev-util/cmake: 2.8.9 dev-util/pkgconfig: 0.27.1 sys-apps/baselayout: 2.1-r1 sys-apps/openrc: 0.11.8 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.6 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.6.3 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 3.6 (virtual/os-headers) sys-libs/glibc: 2.15-r3 Repositories: gentoo ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://gentoo.osuosl.org/" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j6" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="acl amd64 berkdb bindist bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 mmx modules mudflap multilib ncurses nls nptl openmp pam pcre pppd qemu readline session snmp sse sse2 sse2i ssl tcpd truetype unicode virt-network xml zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
I decided to try this on one of my stable machines, just a straight unmerge of gcc-4.5.4 (after installing the newly stable 4.6.3). Saw the same goofy message as reporter. Glancing at toolchain.eclass, it looks like that warning should only be called on pre/postinst, but... something else is happening. -------------- # emerge -C gcc:4.5 * This action can remove important packages! In order to be safer, use * `emerge -pv --depclean <atom>` to check for reverse dependencies before * removing packages. sys-devel/gcc selected: 4.5.4 protected: none omitted: 4.6.3 All selected packages: sys-devel/gcc-4.5.4 >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. >>> Waiting 5 seconds before starting... >>> (Control-C to abort)... >>> Unmerging in: 5 4 3 2 1 >>> Unmerging (1 of 1) sys-devel/gcc-4.5.4... gcc-config -l * The current gcc config appears valid, so it will not be * automatically switched for you. If you would like to * switch to the newly installed gcc version, do the * following: * gcc-config x86_64-pc-linux-gnu-4.5.4 * source /etc/profile * Switching native-compiler to x86_64-pc-linux-gnu-4.6.3 ...>>> Regenerating /etc/ld.so.cache... [ ok ] * Running 'fix_libtool_files.sh 4.5.4' <omitted a bunch of scans from fix_libtool_files.sh> * Regenerating GNU info directory index... * Processed 5 info files. # ----------------- So, he's not crazy. It seems to happen
Sorry I cut myself off up there. I can only reproduce it after the initial installation of 4.6.3 & unmerge of 4.5.4, I can't get it to happen again no matter which combination of versions I reinstall/activate/unmerge.
I can confirm, myself and 2 other developers on the Pentoo project had this exact issue. I stabilized 4.6 in our profile a few months back, and after each of us ran depclean our gcc completely broke until running gcc-config and setting it to gcc-4.6 manually. I have no idea why this happens, but I can confirm it's probably going to happen to a lot of people since we just stabilized 4.6
*** This bug has been marked as a duplicate of bug 446830 ***
If the symptom shows up on with the current portage tree, with current eclasses, how is it a dupe of the other closed bug?
Nevermind, I see now-- gcc installed before the fix from bug 446830 will still display the old/undesirable einfo upon unmerge.
(In reply to comment #6) yes, unfortunately based on the design (which in & of itself isn't wrong), pkg_* funcs get written at time of installation which means bugs found afterwards are generally not fixable.