I have updated my a bit older x64 systems, (using portage 2.2) now I can't install gcc-config or binutils, because strip-flags doesn't return. No idea why, I will need some help in analyzing the problem. Reproducible: Always Portage 2.2_rc38 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.9_p20081201-r0, 2.6.28-gentoo-r3 x86_64) ================================================================= System uname: Linux-2.6.28-gentoo-r3-x86_64-Intel-R-_Xeon-R-_CPU_E5440_@_2.83GHz-with-gentoo-2.0.1 Timestamp of tree: Thu, 13 Aug 2009 09:15:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.0_p28 dev-lang/python: 2.4.3-r4, 2.5.2-r8, 2.6.2-r1, 3.1 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r8 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.3.0-r1 sys-apps/sandbox: 2.0 sys-devel/autoconf: 2.63-r1 sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests ccache distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/" LDFLAGS="-Wl,-O1" LINGUAS="de" MAKEOPTS="-j3" 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="/usr/local/portage" SYNC="rsync://rsync1.de.gentoo.org/gentoo-portage" USE="X509 acl acpi ads afs amd64 apache2 automount bash-completion berkdb branding bzip2 chroot cli cracklib crypt custom-cflags dbus dhcp directfb eap-tls epson foomaticdb fortran gdbm gif gnutls gpg gpm hal iconv imagemagick imap innodb ipv6 jpeg jpeg2k kerberos ldap ldap-sasl logrotate lzo memlimit mime mmx mmxext mng mod_muc mudflap multilib multiprocess mysql mysqli ncurses nfs nls nptl nptlonly odbc openmp openssl opensslcrypt overlays pam pam_chroot pcre pdf perl php png postgres ppds pppd python quotas radius rar rdesktop readline reflection resolvconf samba sasl session smp spl sse sse2 ssl svg svgz svnserve swat sysfs syslog szip tcpd threads tidy tiff unicode unzip upnp userlocales vhosts vram web webdav winbind wmf xinetd xml xmlwriter zeroconf zip 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 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" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I have added 2 echos to the gcc-config ebuild one before strip-flags one after=> >>> Emerging (1 of 1) sys-devel/gcc-config-1.4.1 * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> Unpacking source... >>> Source unpacked in /var/tmp/portage/sys-devel/gcc-config-1.4.1/work >>> Compiling source in /var/tmp/portage/sys-devel/gcc-config-1.4.1/work ... strip ^C Exiting on signal 2
ok I flaged in the flagomatic eclass also: strip-flags() { local x y flag NEW_CFLAGS NEW_CXXFLAGS NEW_FFLAGS NEW_FCFLAGS setup-allowed-flags local NEW_CFLAGS="" local NEW_CXXFLAGS="" local NEW_FFLAGS="" local NEW_FCFLAGS="" echo 1 # Allow unstable C[XX]FLAGS if we are using unstable profile ... if has ~$(tc-arch) ${ACCEPT_KEYWORDS} ; then ALLOWED_FLAGS="${ALLOWED_FLAGS} ${UNSTABLE_FLAGS}" fi echo 2 ... leads to: >>> Emerging (1 of 1) sys-devel/gcc-config-1.4.1 * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> Unpacking source... >>> Source unpacked in /var/tmp/portage/sys-devel/gcc-config-1.4.1/work >>> Compiling source in /var/tmp/portage/sys-devel/gcc-config-1.4.1/work ... strip 1 ^C Exiting on signal 2
I have checked adding an echo blubb >&2 to the tc-arch function that it is not called so the failure must somewhere on the way to it.
If it's some chrooted environment, please make sure your /proc is mounted.
it is not
additionally I found glibc also encounters the same problem in source-unpack (hitting same function (got my 1)) so it seems to call strip-flags during unpack
Created attachment 201170 [details] just the output of emerge -av gcc-config --debug
pstree when it has stopped: init-+-6*[agetty] |-cron |-nmbd |-rpc.mountd |-rpc.statd |-rpc.svcgssd |-rpcbind |-rsync |-17*[sandbox---ebuild.sh---ebuild.sh---ebuild.sh] |-smbd---smbd |-sshd---sshd---sshd---bash---su---bash---screen---screen-+-2*[bash---nano] | |-bash---python2.6---sandbox+ | `-bash---pstree |-syslog-ng `-udevd---udevd
cleaned up version of the pstree pstree | cat init-+-6*[agetty] |-cron |-nmbd |-rpc.mountd |-rpc.statd |-rpc.svcgssd |-rpcbind |-rsync |-smbd---smbd |-sshd---sshd---sshd---bash---su---bash---screen---screen-+-2*[bash---nano] | |-bash---python2.6---sandbox---ebuild.sh---ebuild.sh---ebuild.sh | `-bash-+-cat | `-pstree |-syslog-ng `-udevd---udevd
ps f PID TTY STAT TIME COMMAND 20157 pts/0 S 0:00 su - 20161 pts/0 S 0:00 \_ -su 20169 pts/0 S+ 0:00 \_ screen -r 15101 pts/5 Ss 0:00 -/bin/bash 27607 pts/5 SN+ 0:01 \_ /usr/bin/python /usr/bin/emerge -1av gcc-config 27786 pts/5 SN+ 0:00 \_ [sys-devel/gcc-config-1.4.1] sandbox "/usr/lib64/portage/ 27787 pts/5 SN+ 0:00 \_ /bin/bash /usr/lib64/portage/bin/ebuild.sh compile 27818 pts/5 SN+ 0:00 \_ /bin/bash /usr/lib64/portage/bin/ebuild.sh compil 27829 pts/5 SN+ 0:00 \_ /bin/bash /usr/lib64/portage/bin/ebuild.sh co 25313 pts/22 Ss 0:00 -/bin/bash 27833 pts/22 R+ 0:00 \_ ps f 11753 pts/4 Ss+ 0:00 -/bin/bash 1684 pts/1 Ss 0:00 -/bin/bash 19869 pts/1 S+ 0:00 \_ nano /usr/portage/eclass/flag-o-matic.eclass 1657 tty6 Ss+ 0:00 /sbin/agetty 38400 tty6 linux 1656 tty5 Ss+ 0:00 /sbin/agetty 38400 tty5 linux 1655 tty4 Ss+ 0:00 /sbin/agetty 38400 tty4 linux 1654 tty3 Ss+ 0:00 /sbin/agetty 38400 tty3 linux 1653 tty2 Ss+ 0:00 /sbin/agetty 38400 tty2 linux 1652 hvc0 Ss+ 0:00 /sbin/agetty 38400 hvc0 linux ~ filer 13:50:45 # strace -p 27829 Process 27829 attached - interrupt to quit futex(0x7fb022a15400, FUTEX_WAIT_PRIVATE, 2, NULL
One of this packages makes the difference (ignore the first two, it was a test if it is just the portage version, as you see gcc-config builds so it is not): Fri Aug 14 17:26:17 2009 >>> sys-apps/portage-2.2_rc38 Fri Aug 14 17:26:51 2009 >>> sys-devel/gcc-config-1.4.1 Fri Aug 14 17:28:56 2009 >>> sys-libs/timezone-data-2009j Fri Aug 14 17:30:20 2009 >>> dev-db/sqlite-3.6.14.2 Fri Aug 14 17:31:10 2009 >>> dev-libs/libevent-1.4.11 Fri Aug 14 17:31:19 2009 >>> sys-apps/miscfiles-1.4.2 Fri Aug 14 17:31:33 2009 >>> net-misc/dhcpcd-4.0.13 Fri Aug 14 17:33:22 2009 >>> net-dns/bind-tools-9.4.3_p3 Fri Aug 14 17:34:33 2009 >>> sys-apps/sandbox-2.0 Fri Aug 14 17:35:09 2009 >>> media-libs/libpng-1.2.37 Fri Aug 14 17:36:26 2009 >>> media-libs/tiff-3.8.2-r8 Fri Aug 14 17:36:31 2009 >>> virtual/acl-0 Fri Aug 14 17:36:53 2009 >>> sys-apps/less-429 Fri Aug 14 17:37:05 2009 >>> sys-apps/man-pages-3.21 Fri Aug 14 17:37:17 2009 >>> sys-apps/debianutils-3.1.3 Fri Aug 14 17:37:31 2009 >>> sys-devel/autoconf-2.63-r1 Fri Aug 14 17:37:40 2009 >>> perl-core/Sys-Syslog-0.27 Fri Aug 14 17:38:06 2009 >>> dev-libs/libtasn1-2.2 Fri Aug 14 17:38:16 2009 >>> dev-perl/XML-Parser-2.36 Fri Aug 14 17:38:22 2009 >>> virtual/perl-Sys-Syslog-0.27 Fri Aug 14 17:38:31 2009 >>> dev-perl/URI-1.38 Fri Aug 14 17:42:17 2009 >>> app-crypt/mit-krb5-1.6.3-r6 Fri Aug 14 17:43:15 2009 >>> dev-libs/libpcre-7.9-r1 Fri Aug 14 17:45:04 2009 >>> dev-libs/apr-1.3.8 Fri Aug 14 17:48:23 2009 >>> dev-libs/openssl-0.9.8k Fri Aug 14 17:49:15 2009 >>> www-servers/nginx-0.8.8 Fri Aug 14 17:49:52 2009 >>> sys-apps/sed-4.2
FEATURES="-sandbox" emerge -1av gcc-config works, so what makes sandbox crazy (I have a lot of boxes where this version of portage and sandbox works fine)
ok sandbox 1.6-r2 works, 1.7 fails to compile, 1.8 1.9 and 2.0 will present me this problem
It should be: if has \~$(tc-arch) ${ACCEPT_KEYWORDS} ; then ALLOWED_FLAGS="${ALLOWED_FLAGS} ${UNSTABLE_FLAGS}" fi not: if has ~$(tc-arch) ${ACCEPT_KEYWORDS} ; then ALLOWED_FLAGS="${ALLOWED_FLAGS} ${UNSTABLE_FLAGS}" fi thats all, thx to dleverton in #gentoo-portage
ok I double checked today (now the system is completely up-to-date) the "\" is essential to have it working. So fix it ASAP rising severity to critical, because this is really hard to find and will make users hitting it aging years in minutes
(In reply to comment #14) > It should be: > if has \~$(tc-arch) ${ACCEPT_KEYWORDS} ; then > ALLOWED_FLAGS="${ALLOWED_FLAGS} ${UNSTABLE_FLAGS}" > fi Thanks, it's fixed in cvs now.
http://sources.gentoo.org/eclass/toolchain.eclass?r1=1.404&r2=1.405 http://sources.gentoo.org/eclass/flag-o-matic.eclass?r1=1.142&r2=1.144