|
发表于 2008-4-10 00:22:45
|
显示全部楼层
今天偶然看到http://linuxfromscratch.org/pipe ... ovember/000033.html提到
no need to install glibc headers to build bootstrap gcc?
This depends on the architecture. MIPS and sparc don't require the
glibc-headers to be built
but x86, x86_64, and alpha require them. If you don't build them gcc
will fail.
所以对下面这一段强烈质疑
Post by 地球发动机;1830416
CLFS-SYSROOT的工具链稍有不同,顺序如下:
头文件->cross-binutils->glibc头文件->cross-gcc c->gibc->gcc-final (c/c++)
我们看到这里多了一个glibc头文件的安装。事实上,这是由于这里编译的gcc是要用sysroot的缘故。在gcc/configure里面有一段代码,大家在vi里面输入/inhibit_libc=false就可以发现,在交叉编译,而没有SYSROOT的情况下,inhibit_libc的值会成为true,而要是sysroot了,就false了。
这个变量的作用,如同有关的注释所述,是用来关闭gcc对glibc头文件的依赖。因此,在sysroot下我们才会需要这样一个安装glibc头文件的步骤。
要想在sysroot下消除这个步骤,使用这个sed命令打个补丁即可:
cp gcc/configure{,.orig}
sed -e 's/inhibit_libc=false/inhibit_libc=true/g' gcc/configure.orig > gcc/configure
lz有没有亲自测试过上面提到的“补丁”,误人子弟就不好了。 |
|