+ -
当前位置:首页 → 问答吧 → GCC4.1.2 pass2编译错误

GCC4.1.2 pass2编译错误

时间:2008-07-29

来源:互联网

我的用的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次,有点不想从头开始了)。

希望各位大虾,能给与建议,谢谢

作者: djhoo   发布时间: 2008-07-29

1.检查一下第2遍编译前的configure设置是否正确,prefix=/tools ?
2.用gcc代替cc编译dummy.c,看是否正确,如果正确则cc的符合链接可能出问题了
3.检查path,看/tools/bin是否是在PATH的最前面,如果不是编译时可能用的是/bin,/usr/bin下面的gcc,所以不会输出/tools
4.检查你的specs文件,看设置是否正确

作者: 许木木   发布时间: 2008-07-30

谢谢你的建议,实际上我已经试了前面三个方案了,这也是book里面写的方法。我很想知道,如何检查specs文件是否正确???
还有就是,我又编译了一遍gcc4.1.2,在make的时候,产生了附件里面的error,请各位高手帮忙看一下
上传的图像
make error.GIF (15.1 KB, 15 次查看)

作者: djhoo   发布时间: 2008-07-30

看来是你前一次的配置有问题。而且你没有删除gcc-build目录再重新编译。

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

作者: 地球发动机   发布时间: 2008-07-31

楼上你好,你说前一次配置,是指哪一次配置,能稍微具体一点吗,gcc pass2的前面,应该是那3个测试的包吗??还是在往前的工具链调整

作者: djhoo   发布时间: 2008-07-31

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

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

作者: 地球发动机   发布时间: 2008-07-31

谢谢楼上的回答,我再重新来一次

作者: djhoo   发布时间: 2008-08-01

热门下载

更多