Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 277433

Summary: --depclean doesn't handle properly shared libs with copies in multiple packages
Product: Portage Development Reporter: Petteri Räty (RETIRED) <betelgeuse>
Component: Core - DependenciesAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: esigra
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=467896
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 240323    

Description Petteri Räty (RETIRED) gentoo-dev 2009-07-11 13:10:48 UTC
betelgeuse@pena /usr/portage/x11-plugins/enigmail $ grep seamonkey /var/db/pkg/x11-plugins/enigmail-0.95.7-r5/*
betelgeuse@pena /usr/portage/x11-plugins/enigmail $

 * In order to avoid breakage of link level dependencies, one or more
 * packages will not be removed. This can be solved by rebuilding the
 * packages that pulled them in.
 *
 *   www-client/seamonkey-1.1.11 pulled in by:
 *     x11-plugins/enigmail-0.95.7-r5

12:38 < Betelgeuse> Can anyone explain where seamonkey comes from?
12:46 < few> does a emerge -uDN @world want to install it?
12:47 < few> do you have any other version installed?
13:01 < Betelgeuse> few: pena betelgeuse # emerge -upvDN @world | grep seamonkey
13:01 < Betelgeuse> pena betelgeuse #
13:02 < few> |grep enigmail
13:02 < chithead> possibly enigmail prefers to link against seamonkey rather than thunderbird if both are installed
13:04 < Betelgeuse> chithead: yeah indeed enigmail binaries go against seamonkey
13:04 < Betelgeuse> chithead: but it's a Portage problem
13:04 < Betelgeuse> chithead: It should figure out thbird also has the libs
13:05 < Betelgeuse> time to open a bug

--depclean should be smart enough to figure out the shared lib is also satisfied by thunderbird

Portage 2.2_rc33 (default/linux/x86/2008.0/desktop, gcc-4.3.3, glibc-2.10.1-r0, 2.6.30-gentoo-r2 i686)
=================================================================
System uname: Linux-2.6.30-gentoo-r2-i686-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.0.1
Timestamp of tree: Unknown
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p24
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.5.4-r2, 2.6.2-r1
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    2.0
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.29
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/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 /etc/udev/rules.d"
CXXFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
DISTDIR="/var/distfiles"
FEATURES="ccache collision-protect distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms sign strict unmerge-orphans userfetch userpriv usersandbox verify-rdepend"
GENTOO_MIRRORS=" http://trumpetti.atm.tut.fi/gentoo"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,--as-needed -Wl,-O1"
LINGUAS="fi en"
MAKEOPTS="-j8"
PKGDIR="/home/pkg/"
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="/usr/portage"
PORTDIR_OVERLAY="/mnt/checkouts/overlays/flameeyes-overlay /mnt/checkouts/overlays/openrc /mnt/checkouts/overlays/sunrise /mnt/checkouts/overlays/wschlich-testing /mnt/checkouts/overlays/finnish /mnt/checkouts/overlays/kde-testing"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="a52 aac acl acpi alsa audiofile bash-completion bluetooth branding bzip2 cairo caps cdb cddb cdparanoia cdr cli cracklib crypt cups custom-cxxflags dbus dri dts dvd dvdr dvdread emboss evo fam ffmpeg firefox gif glib hal iconv ipv6 isdnlog java jpeg kde kdeenablefinal kdehiddenvisibility libnotify logitech-mouse mad mikmod mjpeg mmx mp3 mp4 mpeg mudflap ncurses network nptl nptlonly nsplugin nvidia offensive ogg opengl openmp pam pcre pdf png ppds pppd pulseaudio qt3 qt3support quicktime readline reflection rtc samba session spell spl sse sse2 ssl ssse3 startup-notification subversion svg symlink sysfs theora threads tiff truetype udev unicode usb userlocales vim-syntax vorbis win32codecs x86 xcb xcomposite xinerama xml xorg xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel" 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" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fi en" NETBEANS_MODULES="ruby ide webcommon nb harness" USERLAND="GNU" VIDEO_CARDS="none radeonhd"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2009-11-02 11:16:25 UTC
The problem is even bigger with www-client/chromium.

This ebuild installs symlinks to ffmpeg's libraries in /usr/lib64/chromium-browser/. Basically, they look like this:

lrwxrwxrwx 1 root root 27 10-25 10:27 /usr/lib64/chromium-browser/libavcodec.so.52 -> /usr/lib64/libavcodec.so.52
lrwxrwxrwx 1 root root 28 10-25 10:27 /usr/lib64/chromium-browser/libavformat.so.52 -> /usr/lib64/libavformat.so.52
lrwxrwxrwx 1 root root 26 10-25 10:28 /usr/lib64/chromium-browser/libavutil.so.50 -> /usr/lib64/libavutil.so.50

Then, when calculating depclean, emerge assumes that all packages depending on ffmpeg, depend on chromium too:

 *   www-client/chromium-4.0.223.5 pulled in by:
 *     media-libs/gegl-0.1.0-r1 needs libavcodec.so.52, libavformat.so.52
 *     media-libs/xine-lib-1.1.16.3-r2 needs libavcodec.so.52, libavutil.so.50
 *     media-plugins/audacious-plugins-2.2_beta1 needs libavcodec.so.52, libavformat.so.52, libavutil.so.50
 *     media-plugins/vdr-dxr3-0.2.9 needs libavcodec.so.52
 *     media-sound/moc-2.5.0_alpha3-r3 needs libavformat.so.52
 *     media-sound/picard-0.11 needs libavcodec.so.52, libavformat.so.52
 *     media-video/ffmpeg-9999-r1 needs libavcodec.so.52, libavformat.so.52, libavutil.so.50
 *     media-video/guvcview-1.1.1 needs libavcodec.so.52
 *     media-video/motion-3.2.11.1 needs libavcodec.so.52, libavformat.so.52, libavutil.so.50
 *     media-video/mplayer-9999 needs libavcodec.so.52, libavformat.so.52, libavutil.so.50
 *     media-video/vlc-1.0.3_rc needs libavcodec.so.52, libavformat.so.52, libavutil.so.50
 *     www-plugins/moonlight-1.0.1 needs libavcodec.so.52, libavutil.so.50
Comment 2 Jory A. Pratt gentoo-dev 2010-12-29 04:17:29 UTC
Portage issue is not mozilla related.