#1988 closed defect (fixed)
Error First pass of Binutils
Reported by: | beojan | Owned by: | |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | Book | Version: | 6.2 |
Severity: | major | Keywords: | |
Cc: |
Description
The first pass build of binutils didn't build:
lfs@ubuntu:/home/beojan/BJOS/sources/binutils-build$ make -C ld LIB_PATH=/tools/lib make: Entering directory `/home/beojan/BJOS/sources/binutils-build/ld' make all-recursive make[1]: Entering directory `/home/beojan/BJOS/sources/binutils-build/ld' Making all in po make[2]: Entering directory `/home/beojan/BJOS/sources/binutils-build/ld/po' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/beojan/BJOS/sources/binutils-build/ld/po' make[2]: Entering directory `/home/beojan/BJOS/sources/binutils-build/ld' gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldgram.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldlex.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/lexsup.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldlang.c ../../binutils-2.16.1/ld/ldlang.c: In function 'lang_output_section_statement_lookup_1': ../../binutils-2.16.1/ld/ldlang.c:654: warning: dereferencing type-punned pointer will break strict-aliasing rules gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/mri.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldctor.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c -DDEFAULT_EMULATION='"elf_i386"' \ -DSCRIPTDIR='"/tools/i686-pc-linux-gnu/lib"' -DBINDIR='"/tools/bin"' \ -DTOOLBINDIR='"/tools/i686-pc-linux-gnu/bin"' \ -DTARGET='"i686-pc-linux-gnu"' -DTARGET_SYSTEM_ROOT=\"\" \ ../../binutils-2.16.1/ld/ldmain.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldwrite.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldexp.c (echo "/* This file is automatically generated. DO NOT EDIT! */";\ for f in `echo " " eelf_i386.o ei386linux.o "" \ | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \ echo "extern ld_emulation_xfer_type ld_${f}_emulation;"; \ done;\ echo "";\ echo "#define EMULATION_LIST \\";\ for f in `echo " " eelf_i386.o ei386linux.o "" \ | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \ echo " &ld_${f}_emulation, \\"; \ done;\ echo " 0") >ldemul-tmp.h mv ldemul-tmp.h ldemul-list.h gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldemul.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldver.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldmisc.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldfile.c gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ../../binutils-2.16.1/ld/ldcref.c LIB_PATH='/tools/lib' /bin/sh ../../binutils-2.16.1/ld/genscripts.sh ../../binutils-2.16.1/ld /tools/lib "/tools" i686-pc-linux-gnu i686-pc-linux-gnu i686-pc-linux-gnu "elf_i386" "/usr/local/lib /lib /usr/lib" no elf_i386 "i686-pc-linux-gnu" gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c eelf_i386.c LIB_PATH='/tools/lib' /bin/sh ../../binutils-2.16.1/ld/genscripts.sh ../../binutils-2.16.1/ld /tools/lib "/tools" i686-pc-linux-gnu i686-pc-linux-gnu i686-pc-linux-gnu "elf_i386" "/usr/local/lib /lib /usr/lib" no i386linux "i686-pc-linux-gnuaout" gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.16.1/ld -I. -D_GNU_SOURCE -I. -I../../binutils-2.16.1/ld -I../bfd -I../../binutils-2.16.1/ld/../bfd -I../../binutils-2.16.1/ld/../include -I../../binutils-2.16.1/ld/../intl -I../intl -g -O2 -DLOCALEDIR="\"/tools/share/locale\"" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c ei386linux.c /bin/sh ./libtool --mode=link gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -o ld-new ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o eelf_i386.o ei386linux.o ../bfd/libbfd.la ../libiberty/libiberty.a mkdir .libs gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -o ld-new ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o eelf_i386.o ei386linux.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a /tools/bin/ld: unrecognized option '--hash-style=both' /tools/bin/ld: use the --help option for usage information collect2: ld returned 1 exit status make[2]: *** [ld-new] Error 1 make[2]: Leaving directory `/home/beojan/BJOS/sources/binutils-build/ld' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/beojan/BJOS/sources/binutils-build/ld' make: *** [all-recursive-am] Error 2 make: Leaving directory `/home/beojan/BJOS/sources/binutils-build/ld'
Some help please.
Change History (7)
comment:1 by , 18 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:3 by , 18 years ago
Milestone: | 6.2 → 6.3 |
---|---|
Version: | SVN → 6.2 |
comment:4 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed by adding an errata in revision 869 in the www2 repo.
comment:5 by , 18 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Almost. You have to pass CC="gcc -B/usr/bin/" to gcc-pass1, too. Otherwise, your host gcc is gonna try to use the ld you just built.
Also, does anyone know why some commits to www2 aren't going to the website list? The formatting looks a little off on the errata, too.
comment:6 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Thanks Dan. I've updated the errata to change the GCC configure command too, and the formatting looks a lot better now too. I wonder whether the commits to www2 get eaten by our spam filter because of all the HTML tags they'll inevitably contain?
Sorry, this should be on the errata. For the first two packages (binuxtils-pass1 and gcc-pass1), force gcc to use the ld from your host:
See how it's done in the development book. Everything's the same except the version numbers:
http://www.linuxfromscratch.org/lfs/view/development/chapter05/binutils-pass1.html
http://www.linuxfromscratch.org/lfs/view/development/chapter05/gcc-pass1.html