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
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...
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'.
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).
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.