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: 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: *** [/mnt/lfs/sources/glibc-build/linkobj/libc.so] Error 1
make: Leaving directory `/mnt/lfs/sources/glibc-2.14'
make: *** [all] Error 2
Apparently this is a bug in binutils' ld that is fixed in
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.
More information about the lfs-dev