LinuxSir.cn,穿越时空的Linuxsir!

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

怎么理解:"Glibc 的编译系统是高度自给自足的。"这句话?

[复制链接]
发表于 2007-6-21 16:43:51 | 显示全部楼层 |阅读模式
rtrtrtrtrt
发表于 2007-6-26 11:22:53 | 显示全部楼层
也就是说除了 内核 内核头文件 之外,Glibc 不依赖于任何其他软件包
换句话说,Glibc 的所有需要的资源(头文件/库)都由其自身提供

如果你写过C程序就会明白
#include <xxx.h>

自给自足的简单解释就是,在Glibc的源代码中,所有的 #include <xxx.h> 中的"xxx.h"要么是在内核头文件中,要么是在Glibc的源码包中,不会是由其他第三个软件包提供的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-27 11:31:57 | 显示全部楼层
也就是说,glibc这个包不像其他包一样依赖比如在/lib,/usr/lib下的库吗?
那么编译它只要指定了相应的内核头文件,编译出来的就是跟宿主系统无关的咯?
如果是这样,那么预工具链里编译出来的与最终lfs上的glibc岂不是 一样。。?
回复 支持 反对

使用道具 举报

发表于 2007-6-27 13:03:45 | 显示全部楼层
理论上是一样的,仅仅是安装目录不同而已
BT一点的话,你可以试一试
--prefix=/usr
然后
make install install_root=$LFS
回复 支持 反对

使用道具 举报

发表于 2007-6-28 01:55:20 | 显示全部楼层
先不管库的内容是否一样,那些自带的工具连接的就不一样了:)。
回复 支持 反对

使用道具 举报

发表于 2007-6-28 07:46:44 | 显示全部楼层
Post by 晨想
先不管库的内容是否一样,那些自带的工具连接的就不一样了:)。
工具链接的库虽然不一样,但路径是一样的,所以chroot以后还是能找到的:p
但是是否兼容就看宿主的Glibc与目标系统的Glibc是否一致了。
不过貌似这些工具是静态链接的(没验证过)。
所以,想[color="Red"]BT才这么干的,否则就等着进第六章以后再哭了:p
不过也没关系,至少不影响工具连自身
回复 支持 反对

使用道具 举报

发表于 2007-7-2 05:09:20 | 显示全部楼层
嗯,嘿嘿,BT无止境,看是否有这个需求了。:)。
回复 支持 反对

使用道具 举报

发表于 2007-7-2 15:08:37 | 显示全部楼层
理论上是一样的,仅仅是安装目录不同而已
BT一点的话,你可以试一试
--prefix=/usr
然后
make install install_root=$LFS

如果是一样的话, 那第二遍为什么还要编译呢? 直接copy不就行了嘛,还要编译那么久,还要make check之类的. :ask
回复 支持 反对

使用道具 举报

发表于 2007-7-3 07:34:39 | 显示全部楼层
--prefix=
不同
回复 支持 反对

使用道具 举报

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

本版积分规则

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