Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 701114 - net-dns/bind-9.14.8: update from 9.14.7 results in preserved libs in itself
Summary: net-dns/bind-9.14.8: update from 9.14.7 results in preserved libs in itself
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal minor (vote)
Assignee: Christian Ruppert (idl0r)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-11-24 22:33 UTC by Stephen Mollett
Modified: 2020-08-29 10:21 UTC (History)
5 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 Stephen Mollett 2019-11-24 22:33:42 UTC
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
Comment 1 Tomáš Mózes 2019-11-25 03:46:31 UTC
Same here.
Comment 2 Denis Kaganovich 2020-03-25 23:29:42 UTC
Tested with 9.16.1 - in src_configure() before econf:

for i in "${S}"/lib/*; do
  [[ -d "$i" ]] && append-ldflags -L"${i}"/.libs
done
Comment 3 Attila Tóth 2020-03-26 09:32:04 UTC
(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
Comment 4 Mikle Kolyada (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2020-08-29 10:21:44 UTC
Should not be a problem in newer versions.