LinuxSir.cn,穿越时空的Linuxsir!

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

GCC4.1.2 pass2编译错误

[复制链接]
发表于 2008-7-29 17:50:52 | 显示全部楼层 |阅读模式
我的用的vmware6.0  version 6.3 ,按照最新的LFS-BOOK-6.3-HTML,一步步来的。
我的第一遍gcc和binuitl,以及第一次的工具链调整都顺利过去了,因为执行了那段测试代码 echo ‘main(){}’>dummy.c    cc dummy.c   readelf –l a.out|grep ‘:/tools’    输出的结果是正确的。
调整完第一次的工具链以后,编译完了3个测试用的包,再编译完了GCC-4.1.2 pass 2以后,再运行上面那段代码的时候 居然什么都出不来了。按照手册上说,出不来肯定是错了。

我想知道,我大概什么地方错了,需要从什么地方开始重新编译。(因为为了第一次工具链调整过,我从头开始了4次,有点不想从头开始了)。

希望各位大虾,能给与建议,谢谢
发表于 2008-7-30 09:29:45 | 显示全部楼层
1.检查一下第2遍编译前的configure设置是否正确,prefix=/tools ?
2.用gcc代替cc编译dummy.c,看是否正确,如果正确则cc的符合链接可能出问题了
3.检查path,看/tools/bin是否是在PATH的最前面,如果不是编译时可能用的是/bin,/usr/bin下面的gcc,所以不会输出/tools
4.检查你的specs文件,看设置是否正确
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-30 17:40:18 | 显示全部楼层
谢谢你的建议,实际上我已经试了前面三个方案了,这也是book里面写的方法。我很想知道,如何检查specs文件是否正确???
还有就是,我又编译了一遍gcc4.1.2,在make的时候,产生了附件里面的error,请各位高手帮忙看一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2008-7-30 22:43:36 | 显示全部楼层
看来是你前一次的配置有问题。而且你没有删除gcc-build目录再重新编译。

看specs的方法:
gcc -dumpspecs
你可以把它重定向到一个文件,然后检查内容。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-31 08:20:35 | 显示全部楼层
楼上你好,你说前一次配置,是指哪一次配置,能稍微具体一点吗,gcc pass2的前面,应该是那3个测试的包吗??还是在往前的工具链调整
回复 支持 反对

使用道具 举报

发表于 2008-7-31 09:09:11 | 显示全部楼层
你贴出的错误信息显示:CC这个环境变量的内部设置从上次configure时候起发生了变化。该变量原来的值含有一些类似于tools//的字符串,而现在则变成了tools/。

因此,很可能是前一次配置gcc的时候出现了参数错误。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-1 12:28:55 | 显示全部楼层
谢谢楼上的回答,我再重新来一次
回复 支持 反对

使用道具 举报

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

本版积分规则

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