Summary: | emerge of glibc-2.3.5 fails: undefined reference to `.LC2' and '.LC3' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Thomas <Thomas.Eschenbacher> |
Component: | [OLD] Library | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | nefercheprure, trelane |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 111217 |
Description
Thomas
2005-07-22 11:42:55 UTC
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. *** |