Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 244790 - net-misc/wget-1.11.1 depends on com_err, which is not reflected by the ebuild
Summary: net-misc/wget-1.11.1 depends on com_err, which is not reflected by the ebuild
Status: RESOLVED DUPLICATE of bug 244511
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-28 16:24 UTC by matthias.grobarek
Modified: 2008-10-28 18:07 UTC (History)
0 users

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 matthias.grobarek 2008-10-28 16:24:57 UTC
wget depends on libcom_err, but this is not reflected in the ebuild file. Unmerging com_err results in wget not working anymore, but since the ebuild doesn’t explicitly say that wget depends on com_err, Portage can’t know this and thus tools like equery are useless to determine such dependencies.

Reproducible: Always

Steps to Reproduce:
1. Get yourself a Gentoo system with sys-fs/e2fsprogs, sys-libs/ss and sys-libs/com_err, all of them installed as versions <=1.40.x. Optionally, have app-portage/gentoolkit installed.
2. Be sure you have a com_err distfile in your distfiles directory, so that you don’t need to download it to emerge it.
3. Update your system (emerge --sync && emerge -NDau world), which should result in Portage trying to update the named ebuilds to version >=1.41.x. This will lead you to a blockade: e2fsprogs-1.41.x needs e2fsprogs-libs, but e2fsprogs-libs blocks the already-installed packages sys-libs/ss and sys-libs/com_err. So to resolve the blockade, you have to unmerge com_err and ss, then emerge e2fsprogs-libs as the substitute.
4. Before unmerging anything, look up which ebuilds depend on com_err and ss. With gentoolkit installed, just enter: equery d com_err
You will notice that wget will NOT be listed there, which means that (according to Portage’s knowledge) wget does not depend on com_err or ss.
Without gentoolkit, you can take a look into the ebuild files manually: grep com_err /usr/portage/net-misc/wget/wget-*.ebuild
The empty output will show that the ebuilds don’t contain any mentioning of com_err.
5. Being on the safe side now, unmerge com_err and ss.
6. Now try to update your system again. The blockade should be gone and emerge will happily try to update all packages...
Actual Results:  
Generally, wget won’t start anymore when libcom_err is not installed. Every wget call will fail with the message “could not find shared library libcom_err”

Specifically for the “Steps to Reproduce” results: emerge will fail with the first ebuild that needs downloads.
To resolve this in this specific, re-emerge com_err again and then pre-download all needed files with the command: emerge -NDauf world. Then unmerge com_err again and you can emerge everything just fine, because no files have to be downloaded for this.

Expected Results:  
The wget ebuild file should contain a com_err dependency, so Portage (and thus possibly also the user) knows that wget needs com_err.

All that is needed to fix this bug is to add the following atom to the RDEPEND variable of a wget ebuild file:

|| ( ( sys-libs/com_err ) ( >sys-libs/e2fsprogs-libs-1.40.11 ) )

This ensures that before wget is installed, either (the older) com_err or (the newer) e2fsprogs-libs are installed. Both of them bring along the libcom_err library that wget needs.

-----------------------

Output from emerge --info:

Portage 2.1.4.5 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.8_p20080602-r0, 2.6.26-reiser4-r1 x86_64)
=================================================================
System uname: 2.6.26-reiser4-r1 x86_64 AMD Athlon(tm) 64 Processor 3800+
Timestamp of tree: Tue, 28 Oct 2008 14:02:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r7
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.3.0-r1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-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"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=k8 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LDFLAGS="-Wl,-O1"
MAKEOPTS="--jobs=2"
PKGDIR="/usr/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/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/java-overlay /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X Xaw3d a52 aac acl acpi aim alsa amd64 ao apm audiofile bash-completion berkdb bidi bzip2 cairo cdda cddb cdparanoia cdr chroot cjk cli cracklib crypt cups curl cxx dbus device-mapper directfb dri dts dvd dvdr dvdread emboss enca encode evo exif fam fbcon ffmpeg firefox flac foomaticdb fortran ftp gd gdbm gif gimp gloox gnome gnutls gpm gs gstreamer gtk hal iconv icq icu id3 id3tag idn ieee1394 imagemagick imap imlib ipod ipv6 irc isdnlog jabber jack java javascript joystick jpeg jpeg2k kde kerberos lame latex lcms libcaca libffi libgcrypt libnotify libsamplerate libwww lm_sensors logitech-mouse lzma lzo mad matroska memlimit midi mikmod mime mmap mmx mmxext mng modplug mp2 mp3 mp4 mpeg mplayer msn mudflap multilib musepack nautilus ncurses nls nntp nptl nptlonly nsplugin offensive ogg openal opengl openmp otr pam pcre pdf perl pic plotutils png posix ppds pppd python qt3 qt3support quicktime raw readline recode reflection rss samba sasl sdl session sharedmem snmp sockets socks5 soundtouch speex spl sse sse2 ssl startup-notification subversion svg sysfs syslog sysvipc taglib tagwriting tcpd theora threads tiff tk truetype twolame unicode usb vcd videos vorbis wavpack wma wmf x264 xine xml xorg xpm xv xvid yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev nv vesa nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-10-28 18:07:26 UTC
wget can depend on openssl (USE=ssl) which in turn can depend on kerberos (USE=kerberos) which depends on com_err or e2fsprogs-libs.

*** This bug has been marked as a duplicate of bug 244511 ***