Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 281311 - flag-o-matic.eclass: strip-flags doesn't return
Summary: flag-o-matic.eclass: strip-flags doesn't return
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2009-08-13 11:17 UTC by Florian Manschwetus
Modified: 2009-08-16 00:19 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
just the output of emerge -av gcc-config --debug (strip-flags_bug,31.82 KB, text/plain)
2009-08-13 20:32 UTC, Florian Manschwetus
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Manschwetus 2009-08-13 11:17:40 UTC
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
Comment 1 Florian Manschwetus 2009-08-13 12:17:50 UTC
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
Comment 2 Florian Manschwetus 2009-08-13 12:58:04 UTC
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
Comment 3 Florian Manschwetus 2009-08-13 13:22:28 UTC
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.
Comment 4 Maciej Mrozowski gentoo-dev 2009-08-13 14:22:35 UTC
If it's some chrooted environment, please make sure your /proc is mounted.
Comment 5 Florian Manschwetus 2009-08-13 15:29:54 UTC
it is not
Comment 6 Florian Manschwetus 2009-08-13 15:53:33 UTC
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
Comment 7 Florian Manschwetus 2009-08-13 20:32:13 UTC
Created attachment 201170 [details]
just the output of emerge -av gcc-config --debug
Comment 8 Florian Manschwetus 2009-08-13 20:34:48 UTC
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
Comment 9 Florian Manschwetus 2009-08-13 20:41:42 UTC
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
Comment 10 Florian Manschwetus 2009-08-14 12:41:32 UTC
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
Comment 11 Florian Manschwetus 2009-08-14 17:08:18 UTC
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
Comment 12 Florian Manschwetus 2009-08-14 17:14:57 UTC
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)
Comment 13 Florian Manschwetus 2009-08-14 17:26:03 UTC
ok sandbox 1.6-r2 works, 1.7 fails to compile, 1.8 1.9 and 2.0 will present me this problem
Comment 14 Florian Manschwetus 2009-08-14 19:37:00 UTC
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
Comment 15 Florian Manschwetus 2009-08-15 17:06:07 UTC
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
Comment 16 Zac Medico gentoo-dev 2009-08-15 18:06:26 UTC
(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.