Using preserve-libs feature, portage has nicely preserved some binutils libs on my system: !!! existing preserved libs: >>> package: sys-devel/binutils-2.18.50.0.5 * - /Library/Gentoo/usr/lib/binutils/i386-pc-solaris2.10/2.18.50.0.3/libbfd-2. 18.50.0.3.20071102.so * - /Library/Gentoo/usr/lib/binutils/i386-pc-solaris2.10/2.18.50.0.3/libopcode s-2.18.50.0.3.20071102.so Those libs are in use by: % grep "^"libbfd-2.18.50.0.3.20071102.so $EPREFIX/var/cache/edb/library_consumers libbfd-2.18.50.0.3.20071102.so /usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/addr2line,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/ar,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/as,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/c++filt,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/gprof,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/ld,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/nm,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/objcopy,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/objdump,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/ranlib,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/size,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/strings,/usr/i386-pc-solaris2.10/i686-pc-freebsd6.2/binutils-bin/2.18.50.0.3/strip,/usr/lib/binutils/i686-pc-freebsd6.2/2.18.50.0.3/libopcodes-2.18.50.0.3.20071102.so (a cross-compile binutils for FreeBSD on this Solaris box) Because I don't need that binutils for the moment, I decided to unmerge it. However, portage keeps on complaining the libs are still in use, and the library_consumers file isn't updated as well. The next emerge of any package nicely removes the no longer needed libs (!needed), though. I've had my share of dealing with the preserve-libs code, this one I don't know how to fix, even though the patch is probably pretty small... % emerge --info Killed Portage 2.2.00.9500-prefix (default-prefix/sunos/solaris/5.10/x86, gcc-4.3.0, unavailable, 5.10 i86pc) ================================================================= System uname: 5.10 i86pc i386 Timestamp of tree: Tue, 25 Mar 2008 20:08:42 +0000 app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7-r00.1, 2.1.5 dev-lang/python: 2.4.4-r04.2, 2.5.1-r5 dev-python/pycrypto: 2.0.1-r6 sys-devel/autoconf: 2.13, 2.61-r01.1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18.50.0.5 sys-devel/gcc-config: 1.4.0-r04.1 sys-devel/libtool: 1.5.26 ACCEPT_KEYWORDS="~x86-solaris" CBUILD="i386-pc-solaris2.10" CFLAGS="-march=nocona -O3 -pipe" CHOST="i386-pc-solaris2.10" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" DISTDIR="/Library/Gentoo/usr/portage/distfiles" EPREFIX="/Library/Gentoo" FEATURES="collision-protect distlocks metadata-transfer nostrip parallel-fetch preserve-libs sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LC_ALL="en_GB.UTF-8" MAKEOPTS="-j5" PKGDIR="/Library/Gentoo/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/Library/Gentoo/var/tmp" PORTDIR="/Library/Gentoo/usr/portage" SYNC="svn+http://overlays.gentoo.org/svn/proj/alt/trunk/prefix-overlay" USE="berkdb cracklib ipv6 midi ncurses nls prefix readline ssl unicode x86-solaris zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="SunOS" INPUT_DEVICES="keyboard mouse" KERNEL="SunOS" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, CXXFLAGS, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Still relevant with the new code?
I can't check, so I'll close it for now.