LinuxSir.cn,穿越时空的Linuxsir!

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

这个问题是因为系统找不到gcc么

[复制链接]
发表于 2006-10-15 15:25:52 | 显示全部楼层 |阅读模式
我前面的步骤都执行了,没有出错.

执行完chroot
chroot "$LFS" /tools/bin/env -i \
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
   PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
  /tools/bin/bash --login +h

进入sources目录,我的是把文件都copy到sources下了.

Linux-Libc-Headers-2.6.11.2
Man-pages-2.01
这个没什么.
到Glibc-2.3.4时,.configure时出错了.编译前,我检查过了,目录下面没有glibc-2.3.4目录和glibc-build目录.

执行
cd ../glibc-build
../glibc-2.3.4/configure --prefix=/usr \
    --disable-profile --enable-add-ons \
    --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc

出现这个错误提示:
checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile

这个是为什么啊???

我在/tools/bin目录下,找到了gcc的可执行文件.文件是存在的啊.
在提示符下运行gcc
提示说no such file or directory

我印象里应该提示gcc: no input files啊.怎么不一样呢???

请大家帮我分析,我哪里有疏漏了,谢谢.
发表于 2006-10-15 17:31:47 | 显示全部楼层
调整工具链错了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-16 14:24:45 | 显示全部楼层
这个是我调整的过程.按照置顶帖子做的.后面的测试,也是对的啊.


调整工具链

代码:
cd binutils-build
make -C ld install
cd ..
rm -rf binutils-build
rm -rf binutils-2.15.94.0.2.2
SPECFILE=$(gcc --print-file specs) &&
sed 's@ /lib/ld-linux.so.2@ /tools/lib/ld-linux.so.2@g' $SPECFILE > tempspecfile &&
mv -f tempspecfile $SPECFILE &&
unset SPECFILE
rm -vf /tools/lib/gcc/*/*/include/{pthread.h,bits/sigthread.h}相关知识点:
  如果之前不小心把binutils-build给删掉了,那么也不要紧张,不执行make -C ld install也可以。
  工具链的调整方法有好几种,而且不同版本GCC的specs可能会有不同,但实际上都是把specs文件中的/lib/ld-linux.so.2替换成了/tools/lib/ld-linux.so.2,所以即使有些文章在调整工具链上的命令和LFS手册上的不一样也不用太奇怪,当然手工直接编辑specs文件也可以。但如果是GCC4.0.x的话可能不会自动产生specs文件,这时候可以先生成specs文件然后在修改,可参考《用GCC4.0.1编译LFS》

测试工具链的调整
echo 'main(){}' > dummy.c
cc dummy.c
readelf -l a.out | grep ': /tools'
如果输出大致如下
[Requesting program interpreter: /tools/lib/ld-linux.so.2]
则表示调整成功,因为所有的库已经连接到了/tools/lib下。
rm -rf a.out dummy.c

可是执行到后面,还是开始时,那个结果
回复 支持 反对

使用道具 举报

发表于 2006-10-17 19:26:39 | 显示全部楼层
把binutils升级到2.16以上版本试一下
回复 支持 反对

使用道具 举报

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

本版积分规则

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