设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 发行版讨论区 —— LinuxSir.cn
›
LFS(LinuxfromScratch)
›
关于binutils,gcc安装的疑问
返回列表
查看:
733
|
回复:
2
关于binutils,gcc安装的疑问
[复制链接]
awind
awind
当前离线
积分
2
IP卡
狗仔卡
发表于 2004-11-17 09:47:48
|
显示全部楼层
|
阅读模式
我按照lfs文档开始了漫长的lfs安装,确实感到收获颇丰,但有这个问题在文档中
没有找到答案,现向大家请求:
在第5章中,为什么binutils和gcc要安装两遍,在第2次安装的时候,gcc在binutils
之前进行安装.谢谢!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
晨想
晨想
当前离线
积分
9643
IP卡
狗仔卡
发表于 2004-11-17 10:47:29
|
显示全部楼层
1。尽量脱离主系统的干扰。
2。binutils在第二次,是目标系统使用的,不是LFS过程要用的。所以没必要,也不可能先建立。gcc首当其冲。:)。
回复
支持
反对
使用道具
举报
显身卡
threeseconds
threeseconds
当前离线
积分
65
IP卡
狗仔卡
发表于 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> 所包含的头文件内容),编译,链接三个阶段,程序包含主系统的库的硬路径应该是发生在预处理阶段吧??
以上算是对楼上版主老大的话的展开,不知道说得准确不准确,请老大过来再细致说说撒!!!!
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Archlinux讨论区
Linux 基础讨论区(新手速成)
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表