Glibc-2.14 issues

Andrew Benton b3nton at gmail.com
Mon Jun 6 08:59:19 PDT 2011


On Sat, 4 Jun 2011 14:55:21 -0600
Matthew Burgess <matthew at linuxfromscratch.org> wrote:

> Hi all,
> 
> The following is taken from my build logs when using Glibc-2.13:
> 
> checking cpuid.h usability... no
> checking cpuid.h presence... yes
> configure: WARNING: cpuid.h: present but cannot be compiled
> configure: WARNING: cpuid.h:     check for missing prerequisite headers?
> configure: WARNING: cpuid.h: see the Autoconf documentation
> configure: WARNING: cpuid.h:     section "Present But Cannot Be Compiled"
> configure: WARNING: cpuid.h: proceeding with the preprocessor's result
> configure: WARNING: cpuid.h: in the future, the compiler will take precedence
> checking for cpuid.h... yes
> 
> Using Glibc-2.14, that final line reads 'no', and appears to stem from the
> lack of 'stdio.h'.  stdio.h is installed by Glibc, so it would appear as if
> we're getting into a circular dependency here somehow, but I'm yet to figure
> out how/why Glibc-2.14 is behaving so differently to Glibc-2.13.
> 
> I guess the first question is, has anyone else seen this issue?

No, I don't get that. It could be because I've been using eglibc for a
while. It could also be an architecture thing; I'm using x86_64, are
you using i686? When I configure glibc-2.14 I get:

checking cpuid.h usability... yes
checking cpuid.h presence... yes
checking for cpuid.h... yes

However, when I try to compile it the build fails like so:

make[2]: Leaving directory `/mnt/lfs/sources/glibc-2.14/elf'
gcc   -shared -static-libgcc -Wl,-O1  -Wl,-z,defs -Wl,-dynamic-linker=/tools/lib/ld-linux-x86-64.so.2  -B/mnt/lfs/sources/glibc-build/csu/  -Wl,--version-script=/mnt/lfs/sources/glibc-build/libc.map -Wl,-soname=libc.so.6 -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both -nostdlib -nostartfiles -e __libc_main -L/mnt/lfs/sources/glibc-build -L/mnt/lfs/sources/glibc-build/math -L/mnt/lfs/sources/glibc-build/elf -L/mnt/lfs/sources/glibc-build/dlfcn -L/mnt/lfs/sources/glibc-build/nss -L/mnt/lfs/sources/glibc-build/nis -L/mnt/lfs/sources/glibc-build/rt -L/mnt/lfs/sources/glibc-build/resolv -L/mnt/lfs/sources/glibc-build/crypt -L/mnt/lfs/sources/glibc-build/nptl -Wl,-rpath-link=/mnt/lfs/sources/glibc-build:/mnt/lfs/sources/glibc-build/math:/mnt/lfs/sources/glibc-build/elf:/mnt/lfs/sources/glibc-build/dlfcn:/mnt/lfs/sources/glibc-build/nss:/mnt/lfs/sources/glibc-build/nis:/mnt/lfs/sources/glibc-build/rt:/mnt/lfs/sources/glibc-build/resolv:/mnt/lfs/sources/glibc-build/crypt:/mnt/lfs/sources/glibc-build/nptl -o /mnt/lfs/sources/glibc-build/linkobj/libc.so -T /mnt/lfs/sources/glibc-build/shlib.lds /mnt/lfs/sources/glibc-build/csu/abi-note.o /mnt/lfs/sources/glibc-build/elf/soinit.os -Wl,--whole-archive /mnt/lfs/sources/glibc-build/linkobj/libc_pic.a -Wl,--no-whole-archive /mnt/lfs/sources/glibc-build/elf/sofini.os /mnt/lfs/sources/glibc-build/elf/interp.os /mnt/lfs/sources/glibc-build/elf/ld.so -lgcc
/usr/bin/ld: BFD (GNU Binutils) 2.21 internal error, aborting at ../../binutils-2.21/bfd/elf64-x86-64.c line 2764 in elf64_x86_64_relocate_section

/usr/bin/ld: Please report this bug.

collect2: ld returned 1 exit status
make[1]: *** [/mnt/lfs/sources/glibc-build/linkobj/libc.so] Error 1
make[1]: Leaving directory `/mnt/lfs/sources/glibc-2.14'
make: *** [all] Error 2
andy:/mnt/lfs/sources/glibc-build$ 

Apparently this is a bug in binutils' ld that is fixed in
binutils-2.21.51. 

http://sourceware.org/bugzilla/show_bug.cgi?id=12366

I have tested binutils-2.21.51 and glibc-2.14 compiles fine with it.
Current firefox from mercurial also compiles with binutils-2.21.51.
With binutils-2.21 current firefox fails to build in a similar way to
glibc-2.14. I have built my current system with binutils-2.21.51 it
seems to work fine and solves those 2 compile failures for me.

Andy



More information about the lfs-dev mailing list