Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 255642 - net-dns/bind-*: bind links to old bind-internal libraries after update
Summary: net-dns/bind-*: bind links to old bind-internal libraries after update
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Konstantin Arkhipov (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-20 14:39 UTC by André Mayet
Modified: 2010-05-09 20:32 UTC (History)
2 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 André Mayet 2009-01-20 14:39:49 UTC
After updating bind (in this case, the update was from 9.5.x to 9.6.0, but it happened with other versions as well), the resulting executable (/usr/sbin/named) links to the old versions of dynamic libraries installed by the bind package:

ldd /usr/sbin/named
	linux-gate.so.1 =>  (0xb7f05000)
	liblwres.so.50 => /usr/lib/liblwres.so.50 (0xb7eea000)
	libdns.so.50 => /usr/lib/libdns.so.50 (0xb7d98000)
	libbind9.so.50 => /usr/lib/libbind9.so.50 (0xb7d8c000)
	libisccfg.so.50 => /usr/lib/libisccfg.so.50 (0xb7d77000)
	libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7c35000)
	libisccc.so.50 => /usr/lib/libisccc.so.50 (0xb7c2d000)
	libisc.so.50 => /usr/lib/libisc.so.50 (0xb7be4000)
	libnsl.so.1 => /lib/libnsl.so.1 (0xb7bce000)
	libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7aba000)
	libdl.so.2 => /lib/libdl.so.2 (0xb7ab5000)
	libz.so.1 => /lib/libz.so.1 (0xb7aa2000)
	libm.so.6 => /lib/libm.so.6 (0xb7a7e000)
	libc.so.6 => /lib/libc.so.6 (0xb794c000)
	/lib/ld-linux.so.2 (0xb7f06000)
	libdns.so.43 => not found
	libisccc.so.40 => not found
	libisc.so.44 => not found

The new versions of these libraries are installed (and linked also), but of course this is plain wrong.

Without diagnosing this further, I'd presume that bind (one of its Makefiles) does not specify a linker path for finding the shared libraries to link against, and as such picks up the installed libraries on compilation.

Reproducible: Always

Steps to Reproduce:
1. Have an old(er) version of bind installed
2. emerge --oneshot -v bind
3. ldd /usr/sbin/named

Actual Results:  
Bind also links to old system libraries after completing the update (see above).

Expected Results:  
Bind links only to new versions of the bind internal libraries, such as libisc.so, etc.

Workaround: Remerging bind after the initial update correctly installs a version which only links against the new versions of the libraries.

System:
Portage 2.1.4.4 (default-linux/x86/2007.0, gcc-4.2.2, glibc-2.7-r1, 2.6.20-xen-r6 i686)
=================================================================
System uname: 2.6.20-xen-r6 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 5200+
Timestamp of tree: Tue, 20 Jan 2009 11:15:01 +0000
app-shells/bash:     3.2_p33
dev-lang/python:     2.5.1-r5
sys-apps/baselayout: 2.0.0_rc6-r1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.61-r1
sys-devel/automake:  1.7.9-r1, 1.10.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.24
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -mtune=nocona -O2 -pipe -fomit-frame-pointer -mno-tls-direct-seg-refs"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=pentium3 -mtune=nocona -O2 -pipe -fomit-frame-pointer -mno-tls-direct-seg-refs"
DISTDIR="/var/portage/distfiles"
FEATURES="ccache confcache distlocks metadata-transfer sfperms strict unmerge-orphans userfetch userpriv"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/var/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="/var/portage/tmp"
PORTDIR="/var/portage/portage"
PORTDIR_OVERLAY="/var/portage/local"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X acl agent berkdb cli cracklib crypt dri fortran gdbm gif gpm hvm iconv idn ipv6 isdnlog jpeg latin1 midi mudflap mysql ncurses nls nptl nptlonly openmp pae pam pcre perl png postgres pppd python readline reflection sasl session slang spl ssl sysfs tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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="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 proxy proxy_http" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt intel mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Christian Ruppert (idl0r) gentoo-dev 2010-05-09 20:32:20 UTC
Can't reproduce here, please try it with "scanelf -n" instead of ldd.