checking whether the C compiler (gcc ) works... no<附带我的解决办法>
时间:2008-01-28
来源:互联网
在一空白分区上, 解压出做LFS 6.1 的工具链.
现在 : 我想利用6.1的工具链 做LFS-6.2. 但我发现6.1的工具链中的GCC版本有点过时,想把它升级成GCC 4.0 . 升级的步骤按照LFS-BOOK 6.2 第五章第一节开始做的.开始编译 Binutils 时出现如下错误.
checking whether the C compiler (gcc ) works... no ....
跳过Binutils, 直接编译GCC 4.0 时也出现同样错误.
解决办法如下:
由于我做6.1的LFS已经成功且可以启动,所以不是主系统及工具链的问题.
留意了一下lfs用户的PATH
/tools/bin:/bin:/usr/bin
会不会是从/tools/bin 里面读取gcc和cc命令呢...在第一遍的时候应该调用系统的编译器阿?
进入/LFS/tools/bin
发现有 gcc cc 这两个命令.
mv gcc gcc-bak
mv cc cc-bak
重新编译.问题解决.
回到问题,
1:为什么会出现这个错误?
2:哪些条件可以引起此类错误?
3:做第六节时同样调用tools里面的编译器,为什么可以通过,而这儿不行?
对于上述问题的答案,我的想法如下,错误的地方,还请兄弟们指正.
1> 在lfs中已经指定了PATH为 /tools/bin:/bin:/usr/bin , 当configure 找到/tools/bin中的gcc命令后, 立即对它进行测试.但测试失败. 为什么失败 ?
主系统为:: gcc version 3.4.6 20060404 (Red Hat 3.4.6-8)
tools(工具链) 中安装的是 GCC3.4.3 .
3> 难道跟第二遍的工具链调整,及编译参数有关?
作者: 357202171 发布时间: 2008-01-28
我再也不愿意发帖了......继续潜水
作者: 357202171 发布时间: 2008-01-29
作者: 晨想 发布时间: 2008-01-30
作者: d00m3d 发布时间: 2008-01-30
---
好象很难说得通,毕竟可以使用3.4的gcc编译4.3的版本。
---
应该说是在预工具链的问题。
当然很多人喜欢把这一次的编译的预工具链作为保留使用,这个方法很好。可是要注意使用顺序罢了。
---
T_T记得以前有为外国仁兄有个自动编译的工具链包,好怀念。、
机器慢,一定要留!!!
作者: SCys 发布时间: 2008-01-30
不过服务好像已终止了
作者: d00m3d 发布时间: 2008-01-31
http://kerrek.linuxfromscratch.org/pub/lfs-tools/
作者: d00m3d 发布时间: 2008-02-03
那么为什么它会存在呢?显然是你之前解压出来的6.1工具链本身就有。
也就是说,如果你使用解压出来的工具链,就没有必要从第五章开始。直接进入第六章就好。即使这个GCC版本过时,一般来说也不要紧,因为第六章编出来的才是最终安装在LFS系统里面的版本。
如果想要以这个工具链为基础,重新生成一套6.2的工具链,那么你就不能使用原有的目录名,并且要将改名的目录放在PATH变量里。
例如:如果你把6.1工具链解压到$LFS/oldtools,然后创建/oldtools指向它,那么你需要这样写PATH:
PATH=/tools/bin:/oldtools/bin:/bin:/usr/bin
作者: 357202171
按照版主的建议,重新清理了一下思路.
在一空白分区上, 解压出做LFS 6.1 的工具链. 现在 : 我想利用6.1的工具链 做LFS-6.2. 但我发现6.1的工具链中的GCC版本有点过时,想把它升级成GCC 4.0 . 升级的步骤按照LFS-BOOK 6.2 第五章第一节开始做的.开始编译 Binutils 时出现如下错误. checking whether the C compiler (gcc ) works... no .... 跳过Binutils, 直接编译GCC 4.0 时也出现同样错误. 解决办法如下: 由于我做6.1的LFS已经成功且可以启动,所以不是主系统及工具链的问题. 留意了一下lfs用户的PATH /tools/bin:/bin:/usr/bin 会不会是从/tools/bin 里面读取gcc和cc命令呢...在第一遍的时候应该调用系统的编译器阿? 进入/LFS/tools/bin 发现有 gcc cc 这两个命令. mv gcc gcc-bak mv cc cc-bak 重新编译.问题解决. 回到问题, 1:为什么会出现这个错误? 2:哪些条件可以引起此类错误? 3:做第六节时同样调用tools里面的编译器,为什么可以通过,而这儿不行? 对于上述问题的答案,我的想法如下,错误的地方,还请兄弟们指正. 1> 在lfs中已经指定了PATH为 /tools/bin:/bin:/usr/bin , 当configure 找到/tools/bin中的gcc命令后, 立即对它进行测试.但测试失败. 为什么失败 ? 主系统为:: gcc version 3.4.6 20060404 (Red Hat 3.4.6-8) tools(工具链) 中安装的是 GCC3.4.3 . 3> 难道跟第二遍的工具链调整,及编译参数有关? |
作者: 地球发动机 发布时间: 2008-02-03
作者: d00m3d
原来还有的,是地址改了而矣:
http://kerrek.linuxfromscratch.org/pub/lfs-tools/ |
拜谢)))))))))))))))))))))))))))))))))))))))))))))))))))))))9
现在好了.终于没有借口不用LFS了.
作者: SCys 发布时间: 2008-02-03
作者: 357202171 发布时间: 2008-02-09
作者: linuxboys 发布时间: 2009-07-31
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28