Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 290556

Summary: sys-devel/gcc-4.3.4 fails to merge, no gnu/stubs-32.h
Product: Gentoo Linux Reporter: Dirkjan Ochtman (RETIRED) <djc>
Component: [OLD] Core systemAssignee: Gentoo Toolchain Maintainers <toolchain>
Status: RESOLVED INVALID    
Severity: major CC: thorsten
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Dirkjan Ochtman (RETIRED) gentoo-dev 2009-10-26 11:32:19 UTC
emerge -uDN world after emerge --sync failed while trying to emerge gcc. Weirdly, I had no problems on a bunch of my other boxes.

In file included from /usr/include/features.h:354,
                 from /usr/include/stdio.h:28,
                 from /var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/../gcc/tsystem.h:90,
                 from /var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/../gcc/libgcc2.c:33:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
/var/tmp/portage/sys-devel/gcc-4.3.4/work/build/./gcc/xgcc -B/var/tmp/portage/sys-devel/gcc-4.3.4/work/build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -O -O2  -O2 -g -march=native -O2 -pipe   -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector   -I. -I. -I../.././gcc -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/. -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/../gcc -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/../include -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o _absvsi2.o -MT _absvsi2.o -MD -MP -MF _absvsi2.dep -DL_absvsi2 -c /var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/../gcc/libgcc2.c \
          -fvisibility=hidden -DHIDE_EXPORTS
/var/tmp/portage/sys-devel/gcc-4.3.4/work/build/./gcc/xgcc -B/var/tmp/portage/sys-devel/gcc-4.3.4/work/build/./gcc/ -B/usr/x86_64-pc-linux-gnu/bin/ -B/usr/x86_64-pc-linux-gnu/lib/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-gnu/sys-include -O -O2  -O2 -g -march=native -O2 -pipe   -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector   -I. -I. -I../.././gcc -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/. -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/../gcc -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/../include -I/var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT -DHAVE_CC_TLS -DUSE_TLS -o _absvdi2.o -MT _absvdi2.o -MD -MP -MF _absvdi2.dep -DL_absvdi2 -c /var/tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/libgcc/../gcc/libgcc2.c \
          -fvisibility=hidden -DHIDE_EXPORTS
make[5]: *** [_negdi2.o] Error 1
make[5]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.3.4/work/build/x86_64-pc-linux-gnu/32/libgcc'
make[4]: *** [multi-do] Error 1
make[4]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.3.4/work/build/x86_64-pc-linux-gnu/libgcc'
make[3]: *** [all-multi] Error 2
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.3.4/work/build/x86_64-pc-linux-gnu/libgcc'
make[2]: *** [all-stage1-target-libgcc] Error 2
make[2]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.3.4/work/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/var/tmp/portage/sys-devel/gcc-4.3.4/work/build'
make: *** [bootstrap-lean] Error 2
 *
 * ERROR: sys-devel/gcc-4.3.4 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 4938:  Called toolchain_src_compile
 *             environment, line 5464:  Called gcc_src_compile
 *             environment, line 3110:  Called gcc_do_make
 *             environment, line 2900:  Called die
 * The specific snippet of code:
 *       emake LDFLAGS="${LDFLAGS}" STAGE1_CFLAGS="${STAGE1_CFLAGS}" LIBPATH="${LIBPATH}" BOOT_CFLAGS="${BOOT_CFLAGS}" ${GCC_MAKE_TARGET} || die "emake failed with ${GCC_MAKE_TARGET}";
 *  The die message:
 *   emake failed with bootstrap-lean
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/sys-devel/gcc-4.3.4/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-devel/gcc-4.3.4/temp/environment'.

emerge --info

Portage 2.1.6.13 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.23-gentoo-r8 x86_64)
=================================================================
System uname: Linux-2.6.23-gentoo-r8-x86_64-Intel-R-_Xeon-R-_CPU_X3220_@_2.40GHz-with-gentoo-1.12.11.1
Timestamp of tree: Fri, 23 Oct 2009 10:15:01 +0000
app-shells/bash:     4.0_p28
dev-lang/python:     2.6.2-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://91.121.125.139/gentoo-distfiles/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://mirror.muntinternet.net/pub/gentoo/ ftp://mirror.leaseweb.com/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LDFLAGS="-Wl,-O1"
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="/home/djc/src/portage"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="acl amd64 bash-completion bzip2 cracklib crypt ctypes-python expat gd gdbm gpm iconv ipv6 jpeg lapack mmx modules mpm-worker mudflap multilib ncurses nls nptl nptlonly offensive openmp pam pcre png python readline sdl session sqlite sqlite3 sse sse2 ssl svg sysfs tcpd threads threadsafe truetype unicode 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_default                  authn_file authz_default authz_groupfile authz_host autoindex                  cache deflate dir disk_cache env expires ext_filter logio                  file_cache filter headers ident info log_config mem_cache                  mime mime_magic negotiation proxy proxy_connect proxy_http                  rewrite setenvif so status unique_id usertrack vhost_alias" APACHE2_MPMS="worker" 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="fbdev glint 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, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Reproducible: Always
Comment 1 Dirkjan Ochtman (RETIRED) gentoo-dev 2009-10-26 12:13:43 UTC
Found the likely cause: there's apparently a new multilib useflag (or it was enabled by migrating to the 10.0 profile), and emerge is trying to merge gcc before glibc. This seems like a bad idea...
Comment 2 Dirkjan Ochtman (RETIRED) gentoo-dev 2009-10-26 12:30:32 UTC
PolyC also pointed out 289295, which seems to cope with similar problems. This system has been installed for years, though, so it shouldn't be a problem with the stages. I did just switch to the 10.0 profile today, which might have something to do with it. In any case, emerging glibc before gcc doesn't help, I get the following error:

checking how to run the C preprocessor... /lib/cpp
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
 *
 * ERROR: sys-libs/glibc-2.9_p20081201-r2 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3730:  Called eblit-run 'src_compile'
 *             environment, line 1217:  Called eblit-glibc-src_compile
 *       src_compile.eblit, line  195:  Called src_compile
 *             environment, line 3730:  Called eblit-run 'src_compile'
 *             environment, line 1217:  Called eblit-glibc-src_compile
 *       src_compile.eblit, line  203:  Called toolchain-glibc_src_compile
 *       src_compile.eblit, line  121:  Called glibc_do_configure 'nptl'
 *       src_compile.eblit, line   98:  Called die
 * The specific snippet of code:
 *      "${S}"/configure ${myconf} || die "failed to configure glibc"
 *  The die message:
 *   failed to configure glibc
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.9_p20081201-r2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.9_p20081201-r2/temp/environment'.
Comment 3 Dirkjan Ochtman (RETIRED) gentoo-dev 2009-10-27 10:38:06 UTC
Can I please get some toolchain guys to look at this?

djc@turing gcc $ emerge -upvDN world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-devel/gcc-4.3.4  USE="mudflap (multilib*) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -fortran -gcj -gtk (-hardened) -ip28 -ip32r10k (-libffi) -multislot (-n32) (-n64) -nocxx -nopie -objc -objc++ -objc-gc -test -vanilla" 0 kB
[ebuild   R   ] sys-libs/glibc-2.9_p20081201-r2  USE="gd (multilib*) nls -debug -glibc-omitfp (-hardened) -profile (-selinux) -vanilla" 0 kB

gcc doesn't want to compile because I have no compatible libc, glibc doesn't want to configure because it cannot compute sizeof (long double). I'm not sure why it's trying to enable multilib all of a sudden (I did switch from 2008.0 to 10.0 just before this problem came up, though).
Comment 4 SpanKY gentoo-dev 2009-10-27 12:41:40 UTC
switching on the fly from a non-multilib to a multilib profile is known to not work automatically.  it can be done, but only if you know the inner details.

short answer: dont do it.  you selected non-multilib during install (or you disabled it along the way), and there's no going back.