The same happens on three hosts, all fail at the same point. I also tried to build with MAKEOPTS=-j1, without distcc and with CHOST="" - but nothing changed. Reproducible: Always Steps to Reproduce: 1. do a world update on a machine with 2.3.4.20041102-r1 2. 3. Actual Results: gcc -nostdlib -nostartfiles -o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/iconvconfig -Wl,-dynamic-linker=/lib/ld-linux.so.2 -Wl,-z,combreloc -Wl,-z,relro /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crt1.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crti.o `gcc --print-file-name=crtbegin.o` /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/iconvconfig.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/strtab.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/xmalloc.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/hash-string.o -Wl,-rpath-link=/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/math:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/elf:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/dlfcn:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/nss:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/nis:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/rt:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/resolv:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/crypt:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/linuxthreads /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/libc.so.6 /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/libc_nonshared.a -lgcc -lgcc_eh `gcc --print-file-name=crtend.o` /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.o gcc -nostdlib -nostartfiles -o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/iconv_prog -Wl,-dynamic-linker=/lib/ld-linux.so.2 -Wl,-z,combreloc -Wl,-z,relro /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crt1.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crti.o `gcc --print-file-name=crtbegin.o` /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/iconv_prog.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/iconv_charmap.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/charmap.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/charmap-dir.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/linereader.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/dummy-repertoire.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/simple-hash.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/xstrdup.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/xmalloc.o -Wl,-rpath-link=/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/math:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/elf:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/dlfcn:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/nss:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/nis:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/rt:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/resolv:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/crypt:/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/linuxthreads /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/libc.so.6 /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/libc_nonshared.a -lgcc -lgcc_eh `gcc --print-file-name=crtend.o` /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.o /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.o(.init+0xf):/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.S:15: undefined reference to `.LC2' /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.o(.fini+0xf):/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.S:38: undefined reference to `.LC3' collect2: ld returned 1 exit status make[2]: *** [/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/iconvconfig] Error 1 make[2]: *** Waiting for unfinished jobs.... /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.o(.init+0xf):/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.S:15: undefined reference to `.LC2' /tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.o(.fini+0xf):/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/csu/crtn.S:38: undefined reference to `.LC3' collect2: ld returned 1 exit status make[2]: *** [/tmp/portage/glibc-2.3.5/work/build-default--linuxthreads/iconv/iconv_prog] Error 1 make[2]: Leaving directory `/tmp/portage/glibc-2.3.5/work/glibc-2.3.5/iconv' make[1]: *** [iconv/others] Error 2 make[1]: Leaving directory `/tmp/portage/glibc-2.3.5/work/glibc-2.3.5' make: *** [all] Error 2 Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.6.12 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Apr 28 2005, 21:03:42)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -fstack-protector-all -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -fstack-protector-all -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks fixpackages sandbox sfperms strict" GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 acl alsa apache2 apm arts avi berkdb bitmap-fonts bzlib crypt cups emboss encode foomaticdb fortran freetds gd gdbm gif imap imlib jpeg ldap libg++ libwww logrotate mad memlimit mikmod mmap mmx motif mp3 mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl php png python quicktime readline samba sdl slang spell sse ssl tcpd tiff truetype-fonts type1-fonts unicode xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
I can confirm this (when compiling on two identical, hardened hosts with distcc). Error: i686-pc-linux-gnu-gcc -nostdlib -nostartfiles -o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/iconv_prog -Wl,-dynamic-linker=/lib/ld-linux.so.2 -Wl,-O1 -Wl,-z,combreloc -Wl,-z,relro /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crt1.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crti.o `i686-pc-linux-gnu-gcc --print-file-name=crtbegin.o` /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/iconv_prog.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/iconv_charmap.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/charmap.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/charmap-dir.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/linereader.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/dummy-repertoire.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/simple-hash.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/xstrdup.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/xmalloc.o -Wl,-rpath-link=/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl:/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/math:/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/elf:/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/dlfcn:/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/nss:/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/nis:/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/rt:/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/resolv:/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/crypt:/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/nptl /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/libc.so.6 /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/libc_nonshared.a -lgcc -lgcc_eh `i686-pc-linux-gnu-gcc --print-file-name=crtend.o` /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crtn.o /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crtn.o(.init+0x10):/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crtn.S:15: undefined reference to `.LC2' /var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crtn.o(.fini+0x10):/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crtn.S:36: undefined reference to `.LC3' collect2: ld returned 1 exit status distcc[2139] ERROR: compile (null) on localhost failed make[2]: *** [/var/tmp/portage/glibc-2.3.5/work/build-default-i686-pc-linux-gnu-nptl/iconv/iconv_prog] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/var/tmp/portage/glibc-2.3.5/work/glibc-2.3.5/iconv' make[1]: *** [iconv/others] Error 2 make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.5/work/glibc-2.3.5' make: *** [all] Error 2 Emerge info: Portage 2.0.51.22-r2 (hardened/x86/2.6, gcc-3.4.3-20050110, glibc-2.3.4.20041102-r1, 2.6.11-hardened-r1 i686) ================================================================= System uname: 2.6.11-hardened-r1 i686 VIA Nehemiah Gentoo Base System version 1.6.13 distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-mtune=c3-2 -march=c3-2 -Os -pipe -fomit-frame-pointer -fforce-addr -finline-functions -fweb" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mtune=c3-2 -march=c3-2 -Os -pipe -fomit-frame-pointer -fforce-addr -finline-functions -fweb" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distcc distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.pudas.net/gentoo" LANG="en_US.utf8" LDFLAGS="-Wl,-O1" MAKEOPTS="-j5" PKGDIR="/usr/portage//packages/x86/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage/" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl acpi apache2 bash-completion berkdb crypt curl dlloader enscript fortran gd gdbm gmp graphviz hardened hardenedphp imagemagick ithreads java javascript jpeg latex libg++ libwww memlimit mysql ncurses nls no-htdocs nptl nptlonly pam parse-clocks pcre perl php pic png postgres python qmail readline source sqlite ssl symlink tcpd threads truetype unicode userlocales vhosts x86 xml2 zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LC_ALL, LINGUAS, PORTDIR_OVERLAY
I have changed the compiler flags from CFLAGS="-march=pentium4 -O3 -fstack-protector-all -pipe" to CFLAGS="-march=pentium4 -O2 -pipe" and - what a wonder - it now works !?
Specifying '-fstack-protector' (or '-fstack-protector-all') in CFLAGS for your whole system is a bad idea, as there are several situations where it needs to be off for some objects. If you want to use the stack protector, the current Gentoo-supported way is to use a hardened gcc that includes ssp. This will switch on '-fstack-protector' or '-fstack-protector-all' in most situations, managing the cases where it should be off by magic.
*** Bug 101145 has been marked as a duplicate of this bug. ***
*** Bug 107239 has been marked as a duplicate of this bug. ***