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

Bug 262593

Summary: sys-libs/glibc 2.8_p20080602-r1 configure fails checking for linker with -z nodelete support
Product: Gentoo Linux Reporter: glen martin <glenm>
Component: [OLD] DevelopmentAssignee: Gentoo Toolchain Maintainers <toolchain>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: High    
Version: 2008.0   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description glen martin 2009-03-15 19:31:41 UTC
emerge --update world, glibc fails emerge in initial checks.
> checking for -z nodelete option... configure: error: linker with -z nodelete support required

I verified (well, I checked man page) that ld supports -z nodelete.  I re-emerged binutils, sourced profile, tried again, didn't resolve.



Reproducible: Always

Steps to Reproduce:
1.emerge glibc
2.
3.

Actual Results:  
# cat /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/temp/build.log
>>> Unpacking source...
 * Checking gcc for __thread support ...                                                   [ ok ]
 * Checking kernel version (>=2.6.9) ...                                                   [ ok ]
 * Checking linux-headers version (>=2.6.9) ...                                            [ ok ]
>>> Unpacking glibc-2.8-20080602.tar.bz2 to /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work
>>> Unpacking glibc-2.8-ports-20080602.tar.bz2 to /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/glibc-2.8-20080602
>>> Unpacking glibc-2.8-patches-5.tar.bz2 to /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work
 * Applying Gentoo Glibc Patchset 2.8-5 ...
 *   0010_all_glibc-2.7-ssp-compat.patch ...                                               [ ok ]
 *   0030_all_glibc-respect-env-CPPFLAGS.patch ...                                         [ ok ]
 *   0040_all_glibc-i586-chk.patch ...                                                     [ ok ]
 *   0070_all_glibc-i386-x86_64-revert-clone-cfi.patch ...                                 [ ok ]
 *   1010_all_glibc-queue-header-updates.patch ...                                         [ ok ]
 *   1030_all_glibc-manual-no-perl.patch ...                                               [ ok ]
 *   1040_all_2.3.3-localedef-fix-trampoline.patch ...                                     [ ok ]
 *   1050_all_glibc-2.8-stdio-redirect.patch ...                                           [ ok ]
 *   1051_all_glibc-2.8-__REPB_PREFIX.patch ...                                            [ ok ]
 *   1052_all_glibc-2.8-mkfile-NUL.patch ...                                               [ ok ]
 *   1053_all_glibc-2.8-Add-localedata.patch ...                                           [ ok ]
 *   1053_all_glibc-2.8-BODY-for-__gconv_transform_ascii_internal-Add-mis.patch ...        [ ok ]
 *   1053_all_glibc-2.8-bug-iconv6-ENV-tst-iconv7-ENV-Define.patch ...                     [ ok ]
 *   1053_all_glibc-2.8-create_cd_newstate-Don-t-look-at-create_cd_newsta.patch ...        [ ok ]
 *   1053_all_glibc-2.8-do_test-Use-de_DE.UTF-8-locale.patch ...                           [ ok ]
 *   1053_all_glibc-2.8-nscd-nscd_getserv_r.c-__nscd_getservbyport_r-P.patch ...           [ ok ]
 *   1053_all_glibc-2.8-optimize_utf8-Add-a-note-on-why-we-test-opr.ctx_t.patch ...        [ ok ]
 *   1054_all_glibc-2.8-deb-cvs-getaddrinfo.patch ...                                      [ ok ]
 *   1055_all_glibc-resolv-dynamic.patch ...                                               [ ok ]
 *   1075_all_glibc-section-comments.patch ...                                             [ ok ]
 *   1080_all_glibc-no-inline-gmon.patch ...                                               [ ok ]
 *   1090_all_glibc-2.3.6-fix-pr631.patch ...                                              [ ok ]
 *   1100_all_glibc-2.3.3-china.patch ...                                                  [ ok ]
 *   1103_all_glibc-new-valencian-locale.patch ...                                         [ ok ]
 *   1130_all_glibc-2.4-undefine-__i686.patch ...                                          [ ok ]
 *   1160_all_glibc-2.8-nscd-one-fork.patch ...                                            [ ok ]
 *   1501_all_glibc-2.7-hppa-atomic_h.patch ...                                            [ ok ]
 *   1504_all_glibc-2.7-hppa-pie.patch ...                                                 [ ok ]
 *   1518_all_glibc-2.7-pthread-join.patch ...                                             [ ok ]
 *   1530_all_glibc-m68k-sys-user.patch ...                                                [ ok ]
 *   3000_all_2.3.6-dl_execstack-PaX-support.patch ...                                     [ ok ]
 *   3010_all_2.3.3_pre20040117-pt_pax.patch ...                                           [ ok ]
 *   3020_all_glibc-tests-sandbox-libdl-paths.patch ...                                    [ ok ]
 *   5063_all_glibc-dont-build-timezone.patch ...                                          [ ok ]
 *   5070_all_glibc-2.7-cross-compile-nptl.patch ...                                       [ ok ]
 *   6001_all_alpha-glibc-2.4-xstat.patch ...                                              [ ok ]
 *   6015_all_alpha-glibc-2.5-no-page-header.patch ...                                     [ ok ]
 *   6016_all_alpha-glibc-2.5-no-asm-elf-header.patch ...                                  [ ok ]
 *   6017_all_alpha-glibc-2.8-creat.patch ...                                              [ ok ]
 *   6018_all_alpha-glibc-2.8-cache-shape.patch ...                                        [ ok ]
 *   6018_all_glibc-ptr-mangling.patch ...                                                 [ ok ]
 *   6220_all_glibc-2.4-arm-cirrus-ep93xx-maverick-crunch-fpu.patch ...                    [ ok ]
 *   6240_all_glibc-2.8-nptl-lowlevellock.patch ...                                        [ ok ]
 *   6400_all_sh-glibc-2.3.2-fpscr_values.patch ...                                        [ ok ]
 *   6415_all_sh-glibc-2.5-no-asm-user-header.patch ...                                    [ ok ]
 *   6416_all_sh-glibc-2.5-no-asm-elf-header.patch ...                                     [ ok ]
 *   6605_all_glibc-2.4-fpu-cw-mips.patch ...                                              [ ok ]
 *   6645_all_glibc-mips_shn_undef-hack.patch ...                                          [ ok ]
 * Done with patching
 * Using GNU config files from /usr/share/libtool
 *   Updating scripts/config.sub                                                           [ ok ]
 *   Updating scripts/config.guess                                                         [ ok ]
>>> Source unpacked in /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work
>>> Compiling source in /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/glibc-2.8-20080602 ...

 *             ABI:   default
 *          CBUILD:   i586-pc-linux-gnu
 *           CHOST:   i586-pc-linux-gnu
 *         CTARGET:   i586-pc-linux-gnu
 *      CBUILD_OPT:
 *     CTARGET_OPT:
 *              CC:
 *          CFLAGS:   -march=i586 -pipe -O2 -fno-strict-aliasing -fno-stack-protector -nopie

 * Configuring GLIBC for nptl with:
 *              --disable-stackguard-randomization
 *              --enable-old-ssp-compat
 *              --enable-add-ons=nptl,c_stubs,libidn,ports
 *              --enable-kernel=2.6.9
 *              --without-selinux
 *              --without-cvs
 *              --enable-bind-now
 *              --build=i586-pc-linux-gnu
 *              --host=i586-pc-linux-gnu
 *              --disable-profile
 *              --without-gd
 *              --with-headers=/usr/include
 *              --prefix=/usr
 *              --libdir=/usr/lib
 *              --mandir=/usr/share/man
 *              --infodir=/usr/share/info
 *              --libexecdir=/usr/lib/misc/glibc
 *
checking build system type... i586-pc-linux-gnu
checking host system type... i586-pc-linux-gnu
configure: running configure fragment for add-on nptl
configure: running configure fragment for add-on c_stubs
configure: running configure fragment for add-on libidn
checking add-on ports for preconfigure fragments... am33 arm hppa m68k mips
checking sysdep dirs... sysdeps/i386/elf nptl/sysdeps/unix/sysv/linux/i386/i586 nptl/sysdeps/unix/sysv/linux/i386 sysdeps/unix/sysv/linux/i386 nptl/sysdeps/unix/sysv/linux nptl/sysdeps/pthread sysdeps/pthread ports/sysdeps/unix/sysv/linux sysdeps/unix/sysv/linux sysdeps/gnu sysdeps/unix/common sysdeps/unix/mman sysdeps/unix/inet ports/sysdeps/unix/sysv/i386 sysdeps/unix/sysv/i386 nptl/sysdeps/unix/sysv ports/sysdeps/unix/sysv sysdeps/unix/sysv sysdeps/unix/i386 nptl/sysdeps/unix ports/sysdeps/unix sysdeps/unix sysdeps/posix nptl/sysdeps/i386/i586 sysdeps/i386/i586 sysdeps/i386/i486 nptl/sysdeps/i386/i486 sysdeps/i386/fpu nptl/sysdeps/i386 sysdeps/i386 sysdeps/wordsize-32 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/ieee754 sysdeps/generic/elf sysdeps/generic
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for i586-pc-linux-gnu-gcc... i586-pc-linux-gnu-gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i586-pc-linux-gnu-gcc accepts -g... yes
checking for i586-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... i586-pc-linux-gnu-gcc -E
checking for i586-pc-linux-gnu-g++... i586-pc-linux-gnu-g++
checking whether we are using the GNU C++ compiler... yes
checking whether i586-pc-linux-gnu-g++ accepts -g... yes
checking whether /usr/lib/gcc/i586-pc-linux-gnu/3.4.6/../../../../i586-pc-linux-gnu/bin/as is GNU as... yes
checking whether /usr/lib/gcc/i586-pc-linux-gnu/3.4.6/../../../../i586-pc-linux-gnu/bin/ld is GNU ld... yes
checking for /usr/lib/gcc/i586-pc-linux-gnu/3.4.6/../../../../i586-pc-linux-gnu/bin/as... /usr/lib/gcc/i586-pc-linux-gnu/3.4.6/../../../../i586-pc-linux-gnu/bin/as
checking version of /usr/lib/gcc/i586-pc-linux-gnu/3.4.6/../../../../i586-pc-linux-gnu/bin/as... 2.18, ok
checking for /usr/lib/gcc/i586-pc-linux-gnu/3.4.6/../../../../i586-pc-linux-gnu/bin/ld... /usr/lib/gcc/i586-pc-linux-gnu/3.4.6/../../../../i586-pc-linux-gnu/bin/ld
checking version of /usr/lib/gcc/i586-pc-linux-gnu/3.4.6/../../../../i586-pc-linux-gnu/bin/ld... 2.18, ok
checking for pwd... /bin/pwd
checking for i586-pc-linux-gnu-gcc... (cached) i586-pc-linux-gnu-gcc
checking version of i586-pc-linux-gnu-gcc... 3.4.6, ok
checking for gnumake... no
checking for gmake... gmake
checking version of gmake... 3.81, ok
checking for gnumsgfmt... no
checking for gmsgfmt... gmsgfmt
checking version of gmsgfmt... 0.17, ok
checking for makeinfo... makeinfo
checking version of makeinfo... 4.13, ok
checking for sed... sed
checking version of sed... 4.1.5, ok
checking for autoconf... autoconf
checking whether autoconf works... yes
checking whether ranlib is necessary... no
checking LD_LIBRARY_PATH variable... ok
checking whether GCC supports -static-libgcc... -static-libgcc
checking for bash... /bin/bash
checking for gawk... gawk
checking for perl... /usr/bin/perl
checking for install-info... /usr/bin/install-info
checking for bison... /usr/bin/bison
checking for signed size_t type... no
checking for libc-friendly stddef.h... yes
checking whether we need to use -P to assemble .S files... no
checking whether .text pseudo-op must be used... yes
checking for assembler global-symbol directive... .globl
checking for .set assembler directive... yes
checking for assembler .type directive prefix... @
checking for .symver assembler directive... yes
checking for ld --version-script... yes
checking for .previous assembler directive... yes
checking for .protected and .hidden assembler directive... yes
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.8_p20080602-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3475:  Called eblit-run 'src_compile'
 *             environment, line 1083:  Called eblit-glibc-src_compile
 *       src_compile.eblit, line  187:  Called toolchain-glibc_src_compile
 *       src_compile.eblit, line  120:  Called glibc_do_configure 'nptl'
 *       src_compile.eblit, line   97:  Called die
 * The specific snippet of code:
 *      "${S}"/configure ${myconf} || die "failed to configure glibc"
 *  The die message:
 *   failed to configure glibc
 *


Expected Results:  
Ideally, successfully compiled, tested, installed.


Portage 2.1.6.7 (default/linux/x86/2008.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.27-hardened-r8_s2 i686)
=================================================================
System uname: Linux-2.6.27-hardened-r8_s2-i686-VIA_Samuel_2-with-glibc2.1.3
Timestamp of tree: Sat, 14 Mar 2009 21:15:02 +0000
distcc 2.18.3 i586-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.7
dev-lang/python:     2.4.3-r1, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r8
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
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.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i586-pc-linux-gnu"
CFLAGS="-march=c3 -Os -m3dnow -mmmx -pipe -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /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 /etc/udev/rules.d"
CXXFLAGS="-march=c3 -Os -m3dnow -mmmx -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="distcc distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/ http://cudlug.cudenver.edu/gentoo/"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
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="/opt/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="acl apache2 berkdb bzip2 clamav cli cracklib crypt dri gdbm gif hardened hddtemp iconv imap isdnlog java ldap lm_sensors midi mudflap mysql mysqli ncurses nls nptl nptlonly openmp pam pcre perl php pic png ppds pppd python readline reflection session sockets spl ssl sysfs syslog tcpd threads unicode vhosts x86 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 mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="access auth auth_dbm auth_anon auth_digest authz_host alias file-cache echo charset-lite cache dir disk-cache mem-cache ext-filter case_filter case-filter-in deflate mime-magic cern-meta expires filter headers unique-id proxy proxy-connect proxy-ftp proxy-http info include cgi cgid dav dav-fs vhost-alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so" 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 i810 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
Comment 1 glen martin 2009-03-16 01:05:15 UTC
Upgrading gcc from gcc-3.4.6-r1 to gcc-3.4.6-r2 before upgrading glibc solved the issue. Emerge was attempting to do glibc before the gcc upgrade. 

I suspect that contemporary glibc ebuilds should have a dependency on >gcc-3.4.6-r1 so the emerge order might work by default.

Here's the original order that emerge tried:

<snip from original emerge>
# nice emerge --pretend --verbose --nospinner --update --deep world

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

Calculating dependencies  ...... done!
[ebuild     U ] sys-libs/glibc-2.8_p20080602-r1 [2.3.6-r4] USE="nls -debug% -gd% -glibc-omitfp (-hardened*) (-multilib) -profile (-selinux) -vanilla% (-build%) (-erandom%) (-glibc-compat20%) (-nptl%*) (-nptlonly%*)" 0 kB [?=>0]
[ebuild     U ] sys-devel/gcc-3.4.6-r2 [3.4.6-r1] USE="nls (-altivec) -bootstrap -boundschecking -build -d% -doc -fortran -gcj -gtk (-hardened*) -ip28 -ip32r10k -libffi% (-multilib) -multislot (-n32) (-n64) -nocxx -nopie -nossp -objc -test -vanilla" 0 kB [?=>0]
</snip>

FWIW, I've masked later gcc versions since I've read that gcc 4.x uses a lot more memory and this is a tiny machine.
Comment 2 Mark Loeser (RETIRED) gentoo-dev 2009-05-16 23:57:30 UTC
Use a modern version of gcc.  Older ones are merely around for convenience.  Also, we have a dependency on glibc for the minimal version of gcc that you should have, and differences between revisions shouldn't have fixed this problem for you unless something else was already broken.