+ -
当前位置:首页 → 问答吧 → 这样编译LFS工具链可以吗?

这样编译LFS工具链可以吗?

时间:2008-02-22

来源:互联网

LFS手册上(第5和第6章)编译bin和gcc各编译了3次(不算调整), glibc编译了2次. 这样做应该是为了尽量不受host system影响, 且为了证明self compile.

那能不能直接从host system的工具链, 编译出目标机器上的工具链呢?
比如, 过程如下:
先用host system的bin+gcc+ glibc, 编译出目标机器的glibc(我觉得用host system里的bin_h+gcc_h+ glibc_h 编译出来的glibc 和 用临时系统的bin_1+gcc_1+glibc_h编译出来的glibc 应该是一致的);
然后用host system的bin+gcc+ glibc 编译出 目标系统的bin 和 gcc. 这里生成的ld的搜索路径是host system的/lib和/usr/lib, 这里生成的gcc会需要用到host system的/lib/ld-linux.so.2. 但是这没关系, 等chroot后, ld和gcc不就可以用我们第一步生成的glibc了吗?

不知这样会产生什么问题? 刚接触, 望大家帮帮忙

作者: bzw2000   发布时间: 2008-02-22

因为我以前在本机安装gcc时, 就只编译了一遍, 所以对LFS的多次编译有点不理解

作者: bzw2000   发布时间: 2008-02-22

你主系统的gcc,glibc和所编译的gcc,glibc的版本不一定相同,lfs里工具链里第一次编译gcc是为了编译glibc,然后再次编译gcc是为了使用刚编译好的glibc。你用主系统的gcc+glibc来编译目标系统的gcc,这样不能保证chroot时工具链可用吧

作者: 不开花   发布时间: 2008-02-22

版本不一致确实会有问题.

那是不是只要主系统的gcc,glibc和所编译的gcc,glibc的版本一致, 就可以直接编译了呢?

还有一个问题, 我用gcc3.1.2编译出来的glibc, 和我用gcc3.3.4编译出来的glibc, 有没有可能是一致的? 即编译glibc时有没有依赖gcc的版本? 我总觉得编译glibc不太依赖于主系统

作者: bzw2000   发布时间: 2008-02-22

引用:
作者: bzw2000
那是不是只要主系统的gcc,glibc和所编译的gcc,glibc的版本一致, 就可以直接编译了呢?
你的方法里一直没用到工具链里编译的glibc,使用的是主系统的glibc

引用:
作者: bzw2000
还有一个问题, 我用gcc3.1.2编译出来的glibc, 和我用gcc3.3.4编译出来的glibc, 有没有可能是一致的? 即编译glibc时有没有依赖gcc的版本? 我总觉得编译glibc不太依赖于主系统
应该有差别

作者: 不开花   发布时间: 2008-02-22

引用:
作者: 不开花
你的方法里一直没用到工具链里编译的glibc,使用的是主系统的glibc


应该有差别

那有啥区别呢? 能说具体一点吗

作者: bzw2000   发布时间: 2008-02-23

引用:
作者: bzw2000
那有啥区别呢? 能说具体一点吗
问题也不是很大,大概也就是新安装的系统无法启动,某些应用程序无法运行,或者甚至无法chroot等等而已。

作者: 地球发动机   发布时间: 2008-02-24

热门下载

更多