Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 451330 - improper output after emerge--depclean of gcc 4.5
Summary: improper output after emerge--depclean of gcc 4.5
Status: RESOLVED DUPLICATE of bug 446830
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: Normal minor
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-11 00:16 UTC by chris.murtagh1
Modified: 2013-01-12 06:23 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description chris.murtagh1 2013-01-11 00:16:36 UTC
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
Comment 1 Ben Kohler gentoo-dev 2013-01-11 05:32:27 UTC
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
Comment 2 Ben Kohler gentoo-dev 2013-01-11 05:48:33 UTC
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.
Comment 3 Rick Farina (Zero_Chaos) gentoo-dev 2013-01-11 06:01:25 UTC
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
Comment 4 SpanKY gentoo-dev 2013-01-12 05:34:35 UTC

*** This bug has been marked as a duplicate of bug 446830 ***
Comment 5 Ben Kohler gentoo-dev 2013-01-12 05:38:02 UTC
If the symptom shows up on with the current portage tree, with current eclasses, how is it a dupe of the other closed bug?
Comment 6 Ben Kohler gentoo-dev 2013-01-12 05:50:49 UTC
Nevermind, I see now--  gcc installed before the fix from bug 446830 will still display the old/undesirable einfo upon unmerge.
Comment 7 SpanKY gentoo-dev 2013-01-12 06:23:25 UTC
(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.