When updating from bind 9.14.7 to 9.14.8, emerge shows preserved libraries *in bind itself* after it finishes. Emerging bind again (e.g. by running emerge @preserved-rebuild) clears these up. I would speculate that maybe the new bind is being built against libs from the currently-installed bind rather than against the new libs that have been built with the package. Installing bind on a system that doesn't currently have it works fine so it's obviously got the new libs in the linker search path, but they must have a lower priority than the ones in /usr/lib64. Whether this is actually a Gentoo thing or a hidden problem with upstream's build system that is being detected by Portage I cannot say. Alternatively, perhaps Portage itself is getting confused by something about the way bind is linked and returning false preserved libs...? Reproducible: Always Steps to Reproduce: 1. emerge =net-dns/bind-9.14.7 (I used a copy pulled into a local overlay) 2. emerge =net-dns/bind-9.14.8 Actual Results: Emerge finishes with: !!! existing preserved libs: >>> package: net-dns/bind-9.14.8 * - /usr/lib64/libdns.so.1310 * - /usr/lib64/libdns.so.1310.0.2 * used by /usr/lib64/libisccfg.so.1302.0.3 (net-dns/bind-9.14.8) * - /usr/lib64/libisc.so.1309 * - /usr/lib64/libisc.so.1309.0.2 * used by /usr/lib64/libdns.so.1311.0.0 (net-dns/bind-9.14.8) * used by /usr/lib64/libisccc.so.1302.0.0 (net-dns/bind-9.14.8) * used by /usr/lib64/libns.so.1307.1.0 (net-dns/bind-9.14.8) Use emerge @preserved-rebuild to rebuild packages using these libraries * After world updates, it is important to remove obsolete packages with * emerge --depclean. Refer to `man emerge` for more information. Expected Results: No preserved libs. My USE flags for bind: net-dns/bind-9.14.8::gentoo USE="caps zlib -berkdb -dlz -dnsrps -dnstap -doc -fixed-rrset -geoip -geoip2 -gssapi -json -ldap -libressl -lmdb -mysql -odbc -postgres -python (-selinux) -static-libs -urandom -xml" PYTHON_TARGETS="python2_7 python3_6 -python3_5 -python3_7" Emerge info below is from my desktop system on which I've just reproduced the issue for this bug report; it was initially observed on a server elsewhere. I have a feeling I may have seen the issue before but was too busy to stop and look into it properly so I just ran emerge @preserved-rebuild and it went away. # emerge --info Portage 2.3.79 (python 3.6.9-final-0, default/linux/amd64/17.1, gcc-9.2.0, glibc-2.30-r2, 5.3.12-gentoo x86_64) ================================================================= System uname: Linux-5.3.12-gentoo-x86_64-AMD_FX-tm-9590_Eight-Core_Processor-with-gentoo-2.6 KiB Mem: 16374060 total, 10966528 free KiB Swap: 12582900 total, 12582900 free Timestamp of repository gentoo: Sun, 24 Nov 2019 20:12:17 +0000 Head commit of repository useful-ebuilds: 1cf042af9ddc01aab3067f229bbeefead7d593b7 sh bash 5.0_p11 ld GNU ld (Gentoo 2.33.1 p1) 2.33.1 ccache version 3.7.6 [disabled] app-shells/bash: 5.0_p11::gentoo dev-java/java-config: 2.2.0-r4::gentoo dev-lang/perl: 5.30.1::gentoo dev-lang/python: 2.7.17::gentoo, 3.6.9::gentoo dev-util/ccache: 3.7.6::gentoo dev-util/cmake: 3.15.5::gentoo sys-apps/baselayout: 2.6-r1::gentoo sys-apps/openrc: 0.42.1::gentoo sys-apps/sandbox: 2.18::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.16.1-r2::gentoo sys-devel/binutils: 2.33.1::gentoo sys-devel/gcc: 9.2.0-r2::gentoo sys-devel/gcc-config: 2.1::gentoo sys-devel/libtool: 2.4.6-r5::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 5.3-r1::gentoo (virtual/os-headers) sys-libs/glibc: 2.30-r2::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://genmirror/gentoo-portage priority: -1000 sync-rsync-verify-metamanifest: no sync-rsync-verify-max-age: 24 sync-rsync-extra-opts: sync-rsync-verify-jobs: 1 testing location: /usr/local/portage/testing masters: gentoo useful-ebuilds location: /usr/local/portage/useful-ebuilds sync-type: git sync-uri: https://github.com/molletts/useful-ebuilds masters: gentoo crossdev location: /usr/local/portage/crossdev masters: gentoo priority: 10 jorgicio location: /var/lib/layman/jorgicio sync-type: laymansync sync-uri: https://github.com/jorgicio/jorgicio-gentoo.git masters: gentoo priority: 50 steam-overlay location: /var/lib/layman/steam-overlay sync-type: laymansync sync-uri: https://github.com/anyc/steam-overlay.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE ut2003 PUEL AdobeFlash-10.3 Oracle-BCLA-JavaSE google-chrome MakeMKV-EULA AdobeFlash-11.x FraunhoferFDK GIMPS" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=native -pipe" DISTDIR="/usr/portage/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo ftp://mirror.bytemark.co.uk/gentoo/" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en_GB en" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac aacs acpi alsa amd64 apng bdplus berkdb bluetooth bluray bzip2 cairo caps cli crypt cuda cups cxx dbus dnotify dri dts dv dvd elogind encode fam ffmpeg flac fontconfig gdbm gtk3 iconv inotify ipv6 jpeg libnotify libtirpc lm-sensors lock lto lzma mmap mp3 multilib ncurses nls nptl ogg openal opencl opengl openmp opus pam pcre pdf png policykit postscript prelink qt3support readline s3tc seccomp session split-usr ssl startup-notification svg taglib threads thunar truetype udev udisks unicode upower usb vdpau vorbis x264 xcb xcomposite xfce xinerama xkb xv zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="hda-intel" 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx f16c fma3 fma4 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev joystick" KERNEL="linux" L10N="en-GB en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="X86" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="nvidia" 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: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Same here.
Tested with 9.16.1 - in src_configure() before econf: for i in "${S}"/lib/*; do [[ -d "$i" ]] && append-ldflags -L"${i}"/.libs done
(In reply to Denis Kaganovich from comment #2) > Tested with 9.16.1 - in src_configure() before econf: > > for i in "${S}"/lib/*; do > [[ -d "$i" ]] && append-ldflags -L"${i}"/.libs > done Works for me
Should not be a problem in newer versions.