安装 GlibcGlibc的编译系统很自给自足,即使我们的编译器specs文件和连接器还指向/tools目录,也能完美安装。我们在安装Glibc前不能调整specs文件和连接器,因为glibc的autoconf测试会产生假结果,从而影响我们创建一个干净系统的目标。
注: 本节的Glibc测试套件很重要。我们建议在任何情况下都别省略这一步。
在安装glibc前,你必须用 cd 命令进入 glibc-2.3.2 目录然后解压 glibc-linuxthreads 压缩包,别把 glibc-linuxthreads 解压到通常的 /usr/src 目录下了。
如果你把这个包缺省的优化参数(包括 -march 和 -mcpu参数)改变的话,它会有很不良的表现。最好不要优化这个包。因此,如果你定义了任何优化参数的话,比如CFLAGS 和 CXXFLAGS,我们劝你在编译Glibc时unset或修改它们。
在安装Glibc的过程中,它会警告缺少/etc/ld.so.conf文件。其实这没什么关系,不过下面的命令能修正它:
touch /etc/ld.so.conf运用我们前面用过的那个补丁:
patch -Np1 -i ../glibc-2.3.2-sscanf-1.patchGlibc 的安装指南推荐用一个新建的目录来编译它,而不是在源码目录中:
mkdir ../glibc-build
cd ../glibc-build为编译 Glibc 做准备:
../glibc-2.3.2/configure --prefix=/usr \
--disable-profile --enable-add-ons \
--libexecdir=/usr/bin --with-headers=/usr/include新的配置参数意思是:
--libexecdir=/usr/bin: 将 pt_chown 程序安装到 /usr/bin 目录下。
--with-headers=/usr/include: 确保本次编译使用 /usr/include 里的内核头文件。如果你不指定这个参数,可能会用到/tools/include里的头文件,就不太完美了(尽管它们其实是一样的)。用这个参数还有个好处,如果你忘了在 /usr/include 目录下安装内核头文件,马上就能知道。
编译软件包:
make运行测试套件:
make check 安装 Glibc-2.3.2 在 第 5 章里的测试套件说明这里也同样适用,有疑问的话,就参考一下前面的内容。
安装软件包:
make install上面的命令没有安装 locale ( Glibc 用它来使你的 Linux 系统能用另一种语言反馈信息),所以用下面的命令来安装它们:
make localedata/install-locales如果你不想用上面的命令来安装 locale,你可以只安装你所需要的locale。使用命令localedef,这方面的信息在glibc-2.3.2代码树的INSTALL文件中有详细叙述。然而,有几个locale对于运行其他软件包的测试套件是很重要的,比如GCC中的libstdc++,下面的命令能安装运行测试套件所必需的最少locale:
mkdir -p /usr/lib/locale
localedef -i de_DE -f ISO-8859-1 de_DE
localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
localedef -i en_HK -f ISO-8859-1 en_HK
localedef -i en_PH -f ISO-8859-1 en_PH
localedef -i en_US -f ISO-8859-1 en_US
localedef -i es_MX -f ISO-8859-1 es_MX
localedef -i fr_FR -f ISO-8859-1 fr_FR
localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
localedef -i it_IT -f ISO-8859-1 it_IT
localedef -i ja_JP -f EUC-JP ja_JP编译 linuxthreads man 手册页:
make -C ../glibc-2.3.2/linuxthreads/man最后安装这些 man 手册页:
make -C ../glibc-2.3.2/linuxthreads/man install