LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2209|回复: 9

求助 binutils 编译出错

[复制链接]
发表于 2007-5-28 09:06:07 | 显示全部楼层 |阅读模式
按照 Linux From Scratch 6.2 上写的方法,编译 binutils 第一遍,结果就出错了。

../binutils-2.16.1/configure --prefix=/tools --disable-nls
make
make install
make -C ld clean

都是正确的

make -C ld LIB_PATH=/tools/lib

开始出错。报的错误是/tools/bin/ld: unrecognized option '--hash-style=gnu'
各位大侠有没有遇到过这样的错误啊,应该怎么解决阿,多谢了
下面是出错时详细的输出内容,(我的 $LFS 是 /home/lfs/lfs)

。。。。。。。。。。。。
make[2]: Entering directory `/home/lfs/lfs/sources/binutils-build/ld'
/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
gcc -W -Wall -Wstrict-prototypes -Wmissmake[2]: Entering directory `/home/lfs/lfs/sources/binutils-build/ld'
/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
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=gnu'
/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/lfs/lfs/sources/binutils-build/ld'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/lfs/lfs/sources/binutils-build/ld'
make: *** [all-recursive-am] Error 2
make: Leaving directory `/home/lfs/lfs/sources/binutils-build/ld'
ing-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=gnu'
/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/lfs/lfs/sources/binutils-build/ld'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/lfs/lfs/sources/binutils-build/ld'
make: *** [all-recursive-am] Error 2
make: Leaving directory `/home/lfs/lfs/sources/binutils-build/ld
发表于 2007-5-28 09:09:43 | 显示全部楼层
rm -fr binutils-build     &&
rm -fr binutils-2.16.1     &&
export LDFLAGS="-s"
然后重来看看?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-28 14:48:05 | 显示全部楼层
Post by csfrank
rm -fr binutils-build     &&
rm -fr binutils-2.16.1     &&
export LDFLAGS="-s"
然后重来看看?
试过了,还是报错.同样的错误。。。
回复 支持 反对

使用道具 举报

发表于 2007-5-28 16:33:12 | 显示全部楼层
你干嘛要用 hash gnu ?
binutils-2.17.0.50.12 以后的版本才能用的哦。
回复 支持 反对

使用道具 举报

发表于 2007-5-28 16:50:17 | 显示全部楼层
第一,你的宿主系统是。。。?
第二,把 export 的结果贴出来。。。
第三,试一试 make -C ld LIB_PATH=/tools/lib LDFLAGS="-s" CC=gcc CFLAGS="-O2 -pipe"
你的问题貌似很诡异,--hash-style=gnu 怎么会跑进来的...
回复 支持 反对

使用道具 举报

发表于 2007-5-28 17:22:25 | 显示全部楼层
这个在lfs官方的手册上有解决方法:
The first pass of Binutils may fail to build with /bin/ld: unrecognized option '--hash-style=both' on newer hosts (e.g. Fedora Core 6). This can be fixed by changing the Binutils configure command to [color="Red"]CC="gcc -B/usr/bin/" ../binutils-2.16.1/configure [configure parameters] and, similarly, the GCC pass 1 configure command to CC="gcc -B/usr/bin/" ../gcc-3.4.3/configure [configure parameters]
回复 支持 反对

使用道具 举报

发表于 2007-5-28 19:55:01 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-29 14:23:02 | 显示全部楼层
太感谢了。确实是正解。但是为什么这样就可以了呢,哪位大侠给我解释一下吧
回复 支持 反对

使用道具 举报

发表于 2007-5-29 16:18:31 | 显示全部楼层
新版的FC用了 gnu.hash。LFS 的工具链暂时还不支持。所以出错。。。
回复 支持 反对

使用道具 举报

发表于 2008-11-7 15:07:54 | 显示全部楼层
做个标记,省得下次又忘了。。
每找一次都花了很多时间
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表