During 'emerge -uDN world' (using update-world script) I got this error: ----------------------- >>> Emerging (179 of 227) net-www/netscape-flash-10.0.12.36-r1 to / * flash-plugin-10.0.12.36-release.i386.rpm RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking flash-plugin-10.0.12.36-release.i386.rpm ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking flash-plugin-10.0.12.36-release.i386.rpm to /var/tmp/portage/net-www/netscape-flash-10.0.12.36-r1/work rpm2cpio: error while loading shared libraries: libneon.so.26: cannot open shared object file: No such file or directory cpio: premature end of archive * * ERROR: net-www/netscape-flash-10.0.12.36-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_unpack * environment, line 2227: Called rpm_src_unpack * environment, line 2092: Called die * The specific snippet of code: * rpm_unpack ${DISTDIR}/${x} || die "${myfail}"; * The die message: * failure unpacking flash-plugin-10.0.12.36-release.i386.rpm * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/net-www:netscape-flash-10.0.12.36-r1:20081203-184426.log'. * The ebuild environment file is located at '/var/tmp/portage/net-www/netscape-flash-10.0.12.36-r1/temp/environment'. ----------------------- So I found this comment in rpm2targz-9.0-r7.ebuild: ----------------------- # NOTE: rpm2targz autodetects rpm2cpio at runtime, and uses it if available, # so we don't explicitly set it as a dependency. ----------------------- Looking at the order of packages being upgraded: ----------------------- # grep '^>>> Emerging' update-world.out | grep -E '(netscape-flash|rpm|neon)' >>> Emerging (174 of 227) net-misc/neon-0.28.3 to / >>> Emerging (179 of 227) net-www/netscape-flash-10.0.12.36-r1 to / >>> Emerging (14 of 45) app-arch/rpm-4.4.6-r6 to / ----------------------- When retrying after update-world finished, netscape-flash emerged successfully, because rpm was rebuilt against the new libneon. I'm not sure if this is a Gentoo specific dependency problem (likely to be fixed with portage-2.2 supporting '@preserve-rebuild'), or upstream rpm2targz should try without rpm2cpio if that fails too, not only if that does not exist. ----------------------- # emerge --info Portage 2.1.4.5 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r4 i686) ================================================================= System uname: 2.6.24-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Timestamp of tree: Wed, 03 Dec 2008 01:16:01 +0000 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [disabled] app-shells/bash: 3.2_p33 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.5.2-r8 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 dev-util/cmake: 2.4.6-r1 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.61-r2 sys-devel/automake: 1.4_p6, 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="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://gentoo.ynet.sk/pub http://gd.tuwien.ac.at/opsys/linux/gentoo/ http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/" LDFLAGS="-Wl,-O1" MAKEOPTS="-j2" 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="/tools/haubi/gentoo/sapc154/usr/local/portage/layman/wamas-ie /tools/haubi/gentoo/sapc154/usr/local/portage/layman/wamasie-live-overlay" SYNC="rsync://saloon.salomon.at/gentoo-portage" USE="X aalib accessibility alsa bash-completion berkdb bidi bluetooth bogofilter branding bzip2 cairo cdr cli cracklib crypt cscope cups curl cvs dbus dga discouraged divx4linux dmx dri dvd dvdr dvdread eds emacs emboss encode evo fam fbcon firefox gcj gdbm gif glep gnome gnome-keyring gpm gstreamer gtk hal iconv imap isdnlog java jpeg ldap libnotify logrotate mad midi mikmod mmx mmxext mp3 mpeg mudflap ncurses nls nntp nptl nptlonly nsplugin oci8-instant-client ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3support quicktime readline reflection samba sdl session sharedext slp sockets spell spl sqlite sse sse2 ssl startup-notification subversion svg sysfs tcpd threads threadsonly tiff tk truetype unicode usb vim-syntax vorbis webdav win32codecs x86 xine xinerama xml xorg xosd xv xvid zlib" ALSA_CARDS="intel8x0" 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 auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" 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="vga vesa mach64 nv" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS -----------------------
there is no logic in rpm2targz to see if rpm2cpio is "ok", nor is it really feasible to test it. you easily get down a rabbit hole of crap. testing the exit value isnt usable either as you dont know why exactly it failed, and since the command is being piped, any incomplete output renders the process unusable. could perhaps just drop the rpm2cpio usage completely. i'm not aware of a situation where rpmoffset fails.
this was fixed as fallout of Bug 292057. rpm2cpio might be too old to detect compression in newer rpms, so just always use rpmoffset.