LinuxSir.cn,穿越时空的Linuxsir!

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

同样一个make.conf,为何stage1编译错误,而stage3则没有

[复制链接]
发表于 2006-8-31 19:59:30 | 显示全部楼层 |阅读模式
stage1后用emerge -e system编译再次失败,不知是何原因,
而在stage3的时候,同样一个make.conf执行这个操作一点问题也没有。
实在搞不明白怎么回事,难道是bootstrap本身没有处理好吗?
发表于 2006-8-31 20:34:01 | 显示全部楼层
官方现在只支持stage3不是没有原因的。既然从stage3和从stage1装出来的系统都一样,干嘛要用stage1?
回复 支持 反对

使用道具 举报

发表于 2006-8-31 22:03:44 | 显示全部楼层
什么错误信息都没有?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-31 22:07:38 | 显示全部楼层
有倒是有,提示好像是加个build的use之类,但加上了之后不管用
回复 支持 反对

使用道具 举报

发表于 2006-9-1 08:14:24 | 显示全部楼层
估计是stage1的时候use不对。建议在做stage1的时候USE设置的尽量精简。我做stage1USE一般是写官方要求的那么几个。
回复 支持 反对

使用道具 举报

发表于 2006-9-1 13:51:07 | 显示全部楼层
既然stage1时要另外写一个精简的USE,安装系统后再把USE改到自己的要求的,还不如由stage3开始,反正官方的stage3本来就是官方精简的USE做出来。既省事又安全。
回复 支持 反对

使用道具 举报

发表于 2006-9-1 15:14:54 | 显示全部楼层
按handbook的步骤,从stage1开始和从stage3开始我觉得还是有区别的。stage1有个usr/portage/scripts/bootstrap.sh的过程
bootstrap过程不仅仅是编译 GCC ,而是重复编译它几次。它用第一次编译生成的程序来第二次编译自己,然后又用第二次编译生成的程序来第三次编译自己,最后比较第二次和第三次编译的结果,以确保编译器能毫无差错的编译自身,以表明编译是正确的。

所以,特别是在gcc升级后,有一个建议是emerge -e system 两次。第一次的目的是用gcc3.4编译gcc4.1.1和其他工具链,然后用gcc4.1.1编译gcc4.1.1(编译其自身)和其他工具链,这样构建出来的工具链才是纯净的。最后再emerge -e world两次。这样做虽然有点变态和自虐,但还是有其道理的。

当然,现在到2006.1的gcc和glibc已经升级了。从stage3开始emerge -e system应该能确保工具链的正确和纯净。
回复 支持 反对

使用道具 举报

发表于 2006-9-1 18:30:25 | 显示全部楼层
我以前用K6 和 C3 初装Gentoo 都是由stage1 开始的,系统都是装了后就一直升级,直到系统淘汰,最近我装了3台A64,都是由stage3开始了,因为两个月前装第一台A64时,开始由stage1开始安装失败了,后来用stage3安装成功,由于那台机做服务器的,这两个月来我一直让它不断的emerge -e world,  当做烤机测试,都没发觉有什么问题,非常稳定,现在已经投入使用了, 所以之后最近两台 A64 我都是在stage3 开始了。
不过那台机原来用stage1安装失败也不一定是AMD64的stage1有问题,因为当时那台机已经在公司机房了,而且里面已经装了AS4,但由于AS4的内核不支持NFoce的硬盘加速,所以后来才决定使用Gentoo的,我是在AS4的基础上用ssh远程安装Gentoo,那时从stage1 开始安装可能是 AS4 和 stage1 有冲突吧。
回复 支持 反对

使用道具 举报

发表于 2006-9-1 19:11:11 | 显示全部楼层
Post by sheep204
按handbook的步骤,从stage1开始和从stage3开始我觉得还是有区别的。stage1有个usr/portage/scripts/bootstrap.sh的过程
bootstrap过程不仅仅是编译 GCC ,而是重复编译它几次。它用第一次编译生成的程序来第二次编译自己,然后又用第二次编译生成的程序来第三次编译自己,最后比较第二次和第三次编译的结果,以确保编译器能毫无差错的编译自身,以表明编译是正确的。
...

gcc升级是另一回事,但如果是新装的系统,stage1和stage3是一样的,因为stage3包本就是通过stage1做出来的,只是用户做和developer做的分别而已。
回复 支持 反对

使用道具 举报

发表于 2006-9-2 21:29:10 | 显示全部楼层
我觉得从stage1开始做长时间的编译有快感,而且use可以自己设,什么东西都是自己亲手做出来的,那感觉就是不一样。不要骂我bt^_^
回复 支持 反对

使用道具 举报

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

本版积分规则

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