Something is subtly broken with app-arch/tar-1.26 where there is a symlink in the archive. This prevents using "emerge -k" to install a pre-built package This affects at least uclibc-0.9.33 x86, but does NOT affect amd64 glibc - not tested more widely yet eg: tar -xvf /usr/portage/packages/uclibc.host/sys-process/procps-3.2.8_p11.tbz2 ./ ./lib/ ./lib/libproc.so tar: ./lib/libproc.so: Cannot change mode to rwxrwxrwx: No such file or directory ./lib/libproc-3.2.8.so eg: # emerge -vk procps * IMPORTANT: 5 news items need reading for repository 'gentoo'. * Use eselect news to read news items. These are the packages that would be merged, in order: Calculating dependencies... done! [binary R ] sys-process/procps-3.2.8_p11 USE="-unicode" 0 kB Total: 1 package (1 reinstall, 1 binary), Size of downloads: 0 kB >>> Emerging binary (1 of 1) sys-process/procps-3.2.8_p11 * procps-3.2.8_p11.tbz2 MD5 SHA1 size ;-) ... [ ok ] >>> Extracting info >>> Extracting sys-process/procps-3.2.8_p11 tar: ./lib/libproc.so: Cannot change mode to rwxrwxrwx: No such file or directory tar: Exiting with failure status due to previous errors tar failed with status 2 !!! Error Extracting '/usr/portage/packages/uclibc.host/sys-process/procps-3.2.8_p11.tbz2' >>> Failed to emerge sys-process/procps-3.2.8_p11, Log file:
No problem here: jer@wieneke ~/test $ tar xjvf /world/gentoo/packages/wieneke/sys-process/procps-3.2.8_p11.tbz2 ./ ./usr/ ./usr/include/ ./usr/include/proc/ ./usr/include/proc/readproc.h ./usr/include/proc/whattime.h ./usr/include/proc/alloc.h ./usr/include/proc/pwcache.h ./usr/include/proc/devname.h ./usr/include/proc/version.h ./usr/include/proc/procps.h ./usr/include/proc/wchan.h ./usr/include/proc/escape.h ./usr/include/proc/slab.h ./usr/include/proc/sig.h ./usr/include/proc/sysinfo.h ./usr/bin/ ./usr/bin/slabtop ./usr/bin/tload ./usr/bin/pwdx ./usr/bin/snice ./usr/bin/pmap ./usr/bin/skill ./usr/bin/vmstat ./usr/bin/pkill ./usr/bin/watch ./usr/bin/pgrep ./usr/bin/top ./usr/bin/uptime ./usr/bin/free ./usr/bin/w ./usr/lib/ ./usr/lib/debug/ ./usr/lib/debug/usr/ ./usr/lib/debug/usr/bin/ ./usr/lib/debug/usr/bin/uptime.debug ./usr/lib/debug/usr/bin/top.debug ./usr/lib/debug/usr/bin/pwdx.debug ./usr/lib/debug/usr/bin/pgrep.debug ./usr/lib/debug/usr/bin/vmstat.debug ./usr/lib/debug/usr/bin/slabtop.debug ./usr/lib/debug/usr/bin/watch.debug ./usr/lib/debug/usr/bin/tload.debug ./usr/lib/debug/usr/bin/free.debug ./usr/lib/debug/usr/bin/skill.debug ./usr/lib/debug/usr/bin/w.debug ./usr/lib/debug/usr/bin/pmap.debug ./usr/lib/debug/bin/ ./usr/lib/debug/bin/ps.debug ./usr/lib/debug/bin/kill.debug ./usr/lib/debug/lib64/ ./usr/lib/debug/lib64/libproc-3.2.8.so.debug ./usr/lib/debug/sbin/ ./usr/lib/debug/sbin/sysctl.debug ./usr/share/ ./usr/share/doc/ ./usr/share/doc/procps-3.2.8_p11/ ./usr/share/doc/procps-3.2.8_p11/BUGS.bz2 ./usr/share/doc/procps-3.2.8_p11/TODO.bz2 ./usr/share/doc/procps-3.2.8_p11/HACKING.bz2 ./usr/share/doc/procps-3.2.8_p11/sysctl.conf.bz2 ./usr/share/doc/procps-3.2.8_p11/NEWS.bz2 ./usr/share/man/ ./usr/share/man/man1/ ./usr/share/man/man1/pkill.1.bz2 ./usr/share/man/man1/pwdx.1.bz2 ./usr/share/man/man1/top.1.bz2 ./usr/share/man/man1/skill.1.bz2 ./usr/share/man/man1/ps.1.bz2 ./usr/share/man/man1/snice.1.bz2 ./usr/share/man/man1/uptime.1.bz2 ./usr/share/man/man1/tload.1.bz2 ./usr/share/man/man1/watch.1.bz2 ./usr/share/man/man1/pmap.1.bz2 ./usr/share/man/man1/free.1.bz2 ./usr/share/man/man1/pgrep.1.bz2 ./usr/share/man/man1/kill.1.bz2 ./usr/share/man/man1/slabtop.1.bz2 ./usr/share/man/man1/w.1.bz2 ./usr/share/man/man5/ ./usr/share/man/man5/sysctl.conf.5.bz2 ./usr/share/man/man8/ ./usr/share/man/man8/vmstat.8.bz2 ./usr/share/man/man8/sysctl.8.bz2 ./bin/ ./bin/kill ./bin/ps ./lib64/ ./lib64/libproc.so ./lib64/libproc-3.2.8.so ./sbin/ ./sbin/sysctl bzip2: (stdin): trailing garbage after EOF ignored
you must post `emerge --info` with all your bug reports
No problem on either amd64 or x86, but I'm using uclibc-0.9.32.2. Here's some emerge info: x86: Portage 2.1.10.44 (!../var/lib/layman/hardened-development/profiles/hardened/linux/uclibc/x86, gcc-4.5.3, uclibc-0.9.32.1, 3.1.5-hardened-libre i686) ================================================================= System uname: Linux-3.1.5-hardened-libre-i686-QEMU_Virtual_CPU_version_0.15.1-with-gentoo-2.0.3 Timestamp of tree: Wed, 29 Feb 2012 08:00:01 +0000 app-shells/bash: 4.1_p9 dev-lang/python: 2.7.2-r3, 3.1.4-r3 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.9.8.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r99::hardened-dev sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/uclibc: 0.9.32.1::hardened-dev Repositories: gentoo hardened-dev ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="* -@EULA" CBUILD="i686-gentoo-linux-uclibc" CFLAGS="-march=i686 -msse -msse2 -mmmx -O2 -pipe -fomit-frame-pointer" CHOST="i686-gentoo-linux-uclibc" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=i686 -msse -msse2 -mmmx -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="ftp://192.168.100.9/pub/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j9" PKGDIR="/usr/portage/packages" 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="/var/lib/layman/hardened-development" SYNC="rsync://192.168.100.7/portage" USE="X berkdb cli cracklib crypt cxx deblob dri fortran gtk hardened iconv ipv6 mbox modules mudflap ncurses nptl openmp pam pcre pic pppd python readline savedconfig server session ssl tcpd uclibc unicode x86 xattr xorg zlib" 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="uclibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l cirrus vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS Portage 2.1.10.44 (!../var/lib/layman/hardened-development/profiles/hardened/linux/uclibc/amd64, gcc-4.5.3, uclibc-0.9.32.1, 3.2.7-hardened-libre x86_64) ================================================================= System uname: Linux-3.2.7-hardened-libre-x86_64-QEMU_Virtual_CPU_version_0.15.1-with-gentoo-2.0.3 Timestamp of tree: Wed, 29 Feb 2012 08:00:01 +0000 app-shells/bash: 4.1_p9 dev-lang/python: 2.7.2-r3, 3.1.4-r3, 3.2.2 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.9.8.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r99::hardened-dev, 4.6.2-r99::hardened-dev sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/uclibc: 0.9.32.1::hardened-dev Repositories: gentoo hardened-dev ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-gentoo-linux-uclibc" CFLAGS="-msse -msse2 -mmmx -O2 -pipe -fomit-frame-pointer" CHOST="x86_64-gentoo-linux-uclibc" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-msse -msse2 -mmmx -O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="ftp://192.168.100.9/pub/gentoo" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" 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="/var/lib/layman/hardened-development" SYNC="rsync://192.168.100.7/portage" USE="X amd64 berkdb cli cracklib crypt cxx deblob dri fortran gtk hardened iconv ipv6 mbox modules mudflap ncurses nptl openmp pam pcre pic pppd python readline savedconfig server session ssl tcpd uclibc unicode xattr xorg zlib" 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="uclibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l cirrus" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Same problem here (with uclibc 0.9.33, based on Ed's ebuild) : # tar xjf /usr/portage/distfiles/module-init-tools-3.16.tar.bz2 tar: module-init-tools-3.16/doc/depmod.d.sgml: Cannot change mode to rwxrwxrwx: No such file or directory tar: module-init-tools-3.16/doc/modprobe.d.sgml: Cannot change mode to rwxrwxrwx: No such file or directory tar: module-init-tools-3.16/tests/valgrind/modindex: Cannot change mode to rwxrwxrwx: No such file or directory tar: module-init-tools-3.16/tests/valgrind/modprobe: Cannot change mode to rwxrwxrwx: No such file or directory tar: module-init-tools-3.16/tests/valgrind/modinfo: Cannot change mode to rwxrwxrwx: No such file or directory tar: module-init-tools-3.16/tests/valgrind/rmmod: Cannot change mode to rwxrwxrwx: No such file or directory tar: module-init-tools-3.16/tests/valgrind/depmod: Cannot change mode to rwxrwxrwx: No such file or directory tar: Exiting with failure status due to previous errors It may be worth noting the files are properly extracted (except the mode), and a second execution will succeed. Portage 2.1.10.49 (base, gcc-4.5.3, uclibc-0.9.33, 3.0.0-17-generic x86_64) ================================================================= System uname: Linux-3.0.0-17-generic-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T8300_@_2.40GHz-with-gentoo-2.0.3 Timestamp of tree: Sat, 31 Mar 2012 10:45:01 +0000 app-shells/bash: 4.2_p20 dev-lang/python: 3.2.2 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.9.8.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r2 sys-devel/gcc-config: 1.5-r2 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/uclibc: 0.9.33::AtHome Repositories: gentoo AtHome ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="* -@EULA" CBUILD="i486-pc-linux-uclibc" CFLAGS="-Os -pipe -fomit-frame-pointer -march=i486 -mtune=i486" CHOST="i486-pc-linux-uclibc" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo" CXXFLAGS="-Os -pipe -fomit-frame-pointer -march=i486 -mtune=i486" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="-Wl,-O1 -Wl,--as-needed" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="berkdb cli cracklib crypt cxx dri fortran iconv ipv6 modules mudflap ncurses nls nptl openmp pam pcre pic pppd readline session ssl tcpd uclibc unicode x86 xattr xorg zlib" 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="uclibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="dummy fbdev v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
This post seems related : http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00016.html
From man fchmodat : AT_SYMLINK_NOFOLLOW If pathname is a symbolic link, do not dereference it: instead operate on the link itself. This flag is not currently imple- mented. From tar-1.26/src/extract.c : /* Linux fchmodat does not support AT_SYMLINK_NOFOLLOW, and returns ENOTSUP even when operating on non-symlinks, try again with the flag disabled if it does not appear to be supported and if the file is not a symlink. This introduces a race, alas. */ The problem here seems to be that ENOTSUP is not returned, thus fchmodat will try to follow the symlink to the non yet existent file. But I can't understand why this didn't trigger with uClibc-0.9.32.1
you can try this patch: http://git.uclibc.org/uClibc/commit/?id=577c6ee118c2c6342984f3d43d98dd46b0e7f778
@SpanKY : that commit does the trick. Thanks a lot !
fixed in 0.9.33.1
*** Bug 420833 has been marked as a duplicate of this bug. ***