!!! existing preserved libs: >>> package: media-libs/libpng-1.4.5 * - /usr/lib64/libpng12.so.0 * used by /usr/NX/bin/nxclient (net-misc/nxclient-3.4.0.7-r1) * used by /usr/NX/bin/nxssh (net-misc/nxclient-3.4.0.7-r1) * used by /usr/NX/lib/libXcomp.so.3.4.0 (net-misc/nxclient-3.4.0.7-r1) * used by /usr/NX/lib/libXcompsh.so.3.4.0 (net-misc/nxclient-3.4.0.7-r1) The problem can obviously not be solved by @preserved-rebuild, because nxclient is a binary package. Reproducible: Always
Interestingly: # q file -v /usr/lib64/libpng12.so.0 media-libs/libpng-1.2.44 (/usr/lib64/libpng12.so.0) media-libs/libpng-1.4.5 (/usr/lib64/libpng12.so.0) Both slots of libpng claim the same file? I thought FEATURES=protect-owned should prevent this. Portage 2.2.0_alpha10 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.1, glibc-2.12.1-r3, 2.6.36-gentoo-r5 x86_64) ================================================================= System uname: Linux-2.6.36-gentoo-r5-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5000+-with-gentoo-2.0.1 Timestamp of tree: Thu, 23 Dec 2010 14:15:01 +0000 distcc 3.1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.1, 3.1.3 dev-util/cmake: 2.8.3 sys-apps/baselayout: 2.0.1-r1 sys-apps/openrc: 0.6.8 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.21 sys-devel/gcc: 4.5.1-r1, 4.6.0_alpha20101211::toolchain sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82 virtual/os-headers: 2.6.36.1 (sys-kernel/linux-headers) Repositories: gentoo kde pcsx2 oss-overlay sunrise gamerlay-stable toolchain x-qt-symbian-overlay local ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-pipe -O2 -march=athlon64-sse3 -ftree-vectorize" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-pipe -O2 -march=athlon64-sse3 -ftree-vectorize" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y --keep-going" FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" GENTOO_MIRRORS="ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://distfiles.gentoo.org" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--hash-style=gnu" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/var/cache/portage/packages" PORTAGE_COMPRESS="xz" PORTAGE_CONFIGROOT="/" 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/tmp" PORTDIR="/var/cache/portage/gentoo" PORTDIR_OVERLAY="/var/cache/portage/layman/kde /var/cache/portage/layman/pcsx2 /var/cache/portage/layman/oss-overlay /var/cache/portage/layman/sunrise /var/cache/portage/layman/gamerlay /var/cache/portage/layman/toolchain /var/cache/portage/layman/qt-symbian-overlay /var/cache/portage/local" [...] Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
ebuilds are fine ssuominen@unique ~/gentoo-x86/net-misc/nxclient $ grep libpng *.ebuild nxclient-3.4.0.5.ebuild: =media-libs/libpng-1.2* nxclient-3.4.0.7.ebuild: =media-libs/libpng-1.2* nxclient-3.4.0.7-r1.ebuild: =media-libs/libpng-1.2* run # emerge -1 libpng:1.2
(In reply to comment #2) > # emerge -1 libpng:1.2 That makes @preserved-rebuild an empty set again. Good so far, but remerging libpng:0 creates the same mess again: >>> Installing (1 of 1) media-libs/libpng-1.4.5 >>> needed sym /usr/lib64/libpng12.so.0 Do you have an explanation or a fix for that?
(In reply to comment #3) > Do you have an explanation or a fix for that? # emerge --unmerge libpng # emerge -1 libpng:0 libpng:1.2 # q file -v /usr/lib64/libpng12.so.0 media-libs/libpng-1.2.44 (/usr/lib64/libpng12.so.0) Let's just hope no stable user ever trips over this.
Reopening against portage. This was a situation that should not have happened, and hence should probably be investigated.
the issue is already resolved with FEATURES=preserve-libs. nothing to do with versions of portage that dont support this.
You mean there was a bug with preserved-libs, which has been fixed? That was the one resulting in the file being claimed by two packages? Please also explain the remark about portage versions 2.1 and prior.
libpng-1.4.x does not preserve the libraries (and thus claim them via CONTENTS) when using newer version of portage which support FEATURES=preserved-libs when using older portage, both will claim it, and that's just something you'll have to live with. re-emerge both to workaround it.
(In reply to comment #8) > when using older portage What does "older portage" mean? I am using portage 2.2 since long before libpng-1.4 came into portage.
if your portage doesnt support preserved-libs, it is old as for when things are emerged, you'll need to demonstrate the issue still exists by emerging both packages today. things change in the tree all the time.