I'm trying to compile glibc: [ebuild R ] sys-libs/glibc-2.6 USE="-build -debug -glibc-compat20 glibc-omitfp (-hardened*) (-multilib) nls -profile (-selinux)" 0 kB [0] Compilation fails: checking whether __attribute__((visibility())) is supported... yes checking for broken __attribute__((visibility()))... no checking for broken __attribute__((alias()))... no checking whether to put _rtld_local into .sdata section... no checking for .preinit_array/.init_array/.fini_array support... yes checking for libunwind-support in compiler... no checking for -z nodelete option... configure: error: linker with -z nodelete support required * * ERROR: sys-libs/glibc-2.6 failed. * Call stack: * ebuild.sh, line 1648: Called dyn_compile * ebuild.sh, line 988: Called qa_call 'src_compile' * ebuild.sh, line 44: Called src_compile * glibc-2.6.ebuild, line 1179: Called toolchain-glibc_src_compile * glibc-2.6.ebuild, line 273: Called glibc_do_configure 'nptl' * glibc-2.6.ebuild, line 950: Called die * * 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 '/Gentoo/Portage/build/portage/sys-libs/glibc-2.6/temp/build.log'. * File "build.log" will be attached. askwar@hetzner /var/db/pkg $ emerge --info Portage 2.1.3_rc9 (default-linux/x86/2007.0, gcc-3.4.6, glibc-2.6-r0, 2.6.21-gentoo-r4.04.non-hardened i686) ================================================================= System uname: 2.6.21-gentoo-r4.04.non-hardened i686 AMD Athlon(tm) XP 2000+ Gentoo Base System release 1.12.10 Timestamp of tree: Mon, 23 Jul 2007 04:50:01 +0000 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r6 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.16.1-r3, 2.17 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer" DISTDIR="/Gentoo/Portage/build/distfiles" EMERGE_DEFAULT_OPTS="--alphabetical" FEATURES="collision-protect distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS=" http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.gentoo.or.kr/ http://distfiles.gentoo.org/ " LDFLAGS="-Wl,-O1" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/Gentoo/Portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/Gentoo/Portage/build" PORTDIR="/Gentoo/Portage/tree" PORTDIR_OVERLAY="/Gentoo/Portage/local-tree/misc /Gentoo/Portage/local-tree/overlays/nx/nx/testing /Gentoo/Portage/local-tree/overlays/gentoo-de" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="3dnow 3dnowext 7zip acl apache2 async bash-completion berkdb bzip2 cap caps ccache checkpath chroot cli cracklib crypt cyrus dcc discard-path dri ecc erandom exif extensions firefox gdbm glep glibc-omitfp hardened hardenedphp hpn iconv idea idled idn imagemagick imap imlib imlib2 isdnlog jikes jpeg kdeenablefinal libg++ linuxthreads-tls logrotate lynxkeymap maildir midi mime mmap mmx mmxext mode-owner moznoirc mozsvg mudflap multislot ncurses nls no-old-linux noaudio nocd nodrm nolvm1 nopop3d offensive openmp pam pam-mysql pcre pdf php png posix postfix pppd prelude pyzor razor readline recode reflection reiserfs sasl sendfile server session sftplogging sguil sharedmem spl sse ssl static svg sysvipc szip tcpd threads tiff tokenizer tools unicode utf8 vhosts vim-pager x86 xfs xinetd xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="dummy none" Unset: CTARGET, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 125845 [details] build.log of glibc-2.6
In config.log, I find: configure:5548: checking for -z nodelete option configure:5560: i686-pc-linux-gnu-gcc -march=athlon-xp -pipe -O2 -fno-strict-aliasing -fno-stack-protector -nopie -Wl,-O1 -fPIC -shared -o conftest.so conftest.c -nostartfiles -nostdlib -Wl,--enable-new-dtags,-z,nodelete 1>&5 i686-pc-linux-gnu-gcc: -shared and -static|pie|fPIE|fpie|fno-PIC|fno-pic|nopie are incompatible configure:5563: $? = 1 configure:5568: error: linker with -z nodelete support required
you most likely have binutils-2.16.1 set as your default. dont do that.
(In reply to comment #3) > you most likely have binutils-2.16.1 set as your default. dont do that. Hm. You were right. I still had 2.16.1 set as default. However, even after changing to 2.17, I get this error. askwar@hetzner ~ $ eselect binutils list Installed binutils for target i686-pc-linux-gnu [1] 2.16.1 [2] 2.17 * Do I need to do something after changing binutils with eselect (I logged out and back in to the system after I ran eselect)?
drop the USE=hardened as well
(In reply to comment #5) > drop the USE=hardened as well > It is already disabled: [ebuild R ] sys-libs/glibc-2.6 USE="-build -debug -glibc-compat20 glibc-omitfp (-hardened*) (-multilib) nls -profile (-selinux)" 0 kB [0]
you'll need to drop it from make.conf and rebuild your gcc ... most likely it has munged up your toolchain
(In reply to comment #7) > you'll need to drop it from make.conf and rebuild your gcc ... most likely it > has munged up your toolchain That did it. I upgraded GCC to 4.2 and I'm now able to compile glibc. Thanks for your help!
*** Bug 195961 has been marked as a duplicate of this bug. ***
Switching to i686-pc-linux-gnu-3.4.6-hardenednopie profile (see gcc-config -l) solves the problem. However, it would be nice to be able to build glibc using hardened gcc. Is there a workaround for this or is it currently impossible to build a hardened glibc-2.6?