LinuxSir.cn,穿越时空的Linuxsir!

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

关于binutils,gcc安装的疑问

[复制链接]
发表于 2004-11-17 09:47:48 | 显示全部楼层 |阅读模式
我按照lfs文档开始了漫长的lfs安装,确实感到收获颇丰,但有这个问题在文档中
没有找到答案,现向大家请求:
        在第5章中,为什么binutils和gcc要安装两遍,在第2次安装的时候,gcc在binutils
之前进行安装.谢谢!
发表于 2004-11-17 10:47:29 | 显示全部楼层
1。尽量脱离主系统的干扰。
2。binutils在第二次,是目标系统使用的,不是LFS过程要用的。所以没必要,也不可能先建立。gcc首当其冲。:)。
发表于 2004-11-17 15:12:35 | 显示全部楼层
1.第一遍安装GCC和Binutils是依赖于主系统Glibc库的,然后安装GLIBC,构建了临时系统的库;第二遍安装GCC和binutils就是要把他们连接到前面新安装的库上面,做到与主系统的分离;
2.我们的目的是要脱离主系统,拥有一个自给自足的工具链,在第5章"锁定(Locking in)" Glibc一节后安装的package实际上就都连接到新装的Glibc上面了。
由于所有package都需要gcc来编译,而前面的gcc还是链接到主系统的glibc上面的,所以首先需要重新编译gcc,此后的过程实际上应当说就开始脱离主系统了。
【如果不先编译gcc,而是仍然使用先前依赖于主系统的gcc,虽然编译后面的package没有问题,但是有可能在生成的程序中会包含主系统中库的硬路径,这样在chroot进入临时系统后,就会无法运行该程序】
注:【】中内容是我根据书的顺序所作的猜测,gcc的编译过程分为预处理(该阶段主要是展开源程序的宏并插入#include <filename> 所包含的头文件内容),编译,链接三个阶段,程序包含主系统的库的硬路径应该是发生在预处理阶段吧??

以上算是对楼上版主老大的话的展开,不知道说得准确不准确,请老大过来再细致说说撒!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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