安装 Glibc

365bet现场走地盘 ⌚ 2026-01-04 20:14:44 👤 admin 👁️ 1055 ❤️ 774
安装 Glibc

安装 Glibc在安装glibc前,你必须用 cd 命令进入 glibc-2.3.2 目录然后解压 glibc-linuxthreads 压缩包,别把 glibc-linuxthreads 解压到通常的 /usr/src 目录下了。

注: 我们这里将运行Glibc的测试套件。要说明的是,这里运行测试套件,并没有第六章里运行它那么重要。

如果你把这个包缺省的优化参数(包括 -march 和 -mcpu参数)改变的话,它会有很不良的表现。最好不要优化这个包。因此,如果你定义了任何优化参数的话,比如CFLAGS 和 CXXFLAGS,我们劝你在编译Glibc时unset它们。

简单地说,如果不像本书说的这样编译Glibc,你的系统可能就会变得很不稳定。

在安装Glibc的过程中,它会警告缺少/tools/etc/ld.so.conf文件。其实这没什么关系,不过下面的命令能修正它:

mkdir /tools/etc

touch /tools/etc/ld.so.conf在用GCC 3.3.1来编译Glibc时,会有一点小问题。下面的补丁能修正:

patch -Np1 -i ../glibc-2.3.2-sscanf-1.patchGlibc 的安装指南推荐用一个新建的目录来编译它,而不是在源码目录中:

mkdir ../glibc-build

cd ../glibc-build然后为编译 Glibc 作准备:

../glibc-2.3.2/configure --prefix=/tools \

--disable-profile --enable-add-ons \

--with-headers=/tools/include \

--with-binutils=/tools/bin \

--without-gd配置参数的意思是:

--disable-profile:它关掉了 profiling 信息相关的库文件编译。如果你打算做 profiling ,就省掉这个参数。

--enable-add-ons: 这个开关打开所有 Glibc的附加包,我们这里是 linuxthreads。

--with-binutils=/tools/bin 和 --with-headers=/tools/include: 这些参数并不是必需的。但它们能保证在编译 Glibc 时不会用错内核头文件和 Binutils 程序。

--without-gd: 这个参数保证我们不编译 memusagestat 程序,这个程序会顽固地连接到主系统的库文件(libgd,

libpng, libz 等等).

在这个阶段你可能会看到下面的警告:

configure: WARNING:

*** These auxiliary programs are missing or incompatible versions: msgfmt

*** some features will be disabled.

*** Check the INSTALL file for required versions.缺少或不兼容的 msgfmt 程序,这没有什么大问题,不过有时候可能会在运行测试套件的时候出问题。

编译软件包:

make运行测试套件:

make checkGlibc的测试套件高度依赖于你主系统的某些功能,尤其是内核。另外,这里某些测试可能会受主系统里工具和环境的影响,第六章里在chroot环境中,就没这个问题了。通常情况下,glibc的测试套件应该总是成功的,但因为上面的原因,有时很难避免遇到错误。下面是常见的一些错误:

math 测试在非Intel或AMDCPU的系统中运行时,可能会失败。某些优化设置也是失败的一个原因。

gettext 测试有时会失败,这是因为主系统的影响,但具体原因还不清楚。

atime 测试有时会失败,如果LFS分区是用 noatime 参数加载的话,或者由于其他的系统原因。

shm 测试也会时不时失败,如果主系统运行的是devfs文件系统,但又没有把tmpfs文件系统加载到 /dev/shm,也就是内核不支持tmpfs.

在老点或慢些的机器上运行时,有些测试会因为超时(timeout)而失败。

总之,这里运行Glibc的测试套件出错,别太在意。第六章的Glibc才是我们最后所使用的。但要注意的是,在第六章里,有的失败还是会出现,比如math测试。当遇到一个错误时,记录下来,再用make check继续。测试套件会从出错的地方再开始。你也可以用make -k check来一次把测试做完。但如果你这样做的话,就要把屏幕输出记录到文件里,以便最后检查到底出了多少错,哪些测试出错了。

现在安装软件包:

make install不同的国家和文化,使用不同的习俗来交流。这样的习俗很多,从比较简单的时间和日期格式,到非常复杂的语言发音。GNU程序的"internationalization"(国际化,又称i18n,18表示中间的18个字母)是以locales来实现的。我们现在就安装glibc的locale:

make localedata/install-locales如果你不想用上面的命令来安装 locale,你可以只安装你所需要的locale。使用命令localedef,这方面的信息在glibc-2.3.2代码树的INSTALL文件中有详细叙述。然而,有几个locale对于运行其他软件包的测试套件是很重要的,比如GCC中的libstdc++,下面的命令能安装运行测试套件所必需的最少locale:

mkdir -p /tools/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

相关数据

Win7序列号查看方法大全

Win7序列号查看方法大全

Win7序列号查看方法大全 作为微软经典操作系统,Windows7至今仍有大量用户在使用。了解如何查看Win7序列号对于系统重装、激活验证等操作非常

10-01 365bet现场走地盘
大胸 VS 平胸,穿同一件衣服有什么区别 ?!

大胸 VS 平胸,穿同一件衣服有什么区别 ?!

今日粒粒就来处理你们的世纪难题,大胸和小胸别离怎样穿衣? 大胸穿衣的三座大山:臃肿、大妈感、显性感。虽然不得不供认,这些问题都有

08-21 365bet赌城
什么是成品舞?

什么是成品舞?

成品舞是指已经编排成型且完整的舞蹈。这种舞蹈通常由专业舞蹈工作者创作并经过反复的排练和修改,以达到一定的艺术效果和表演水平。成

10-13 best365中国官网
《梦幻西游》化生寺流派怎么选择 化生寺各流派玩法及推荐

《梦幻西游》化生寺流派怎么选择 化生寺各流派玩法及推荐

《梦幻西游》化生寺流派怎么选择 化生寺各流派玩法及推荐 2023-01-17 17:21:24来源:未知编辑:柒柒 化生寺三个流派分别是第一流派——杏林妙手

11-04 365bet赌城
轻松开通花呗!详细步骤与注意事项全解析

轻松开通花呗!详细步骤与注意事项全解析

在数字经济蓬勃发展的今天,越来越多的消费方式层出不穷,而信用消费的概念正在悄然改变着人们的购物习惯。其中,阿里巴巴集团的花呗作

12-18 best365中国官网
练车会晒黑吗?防晒喷雾和防晒霜能有效防晒吗?

练车会晒黑吗?防晒喷雾和防晒霜能有效防晒吗?

练车的时候担心晒黑?别担心,我有一些小妙招可以帮你远离晒黑困扰!虽然防晒喷雾和防晒霜对抗紫外线是非常有效的,但有时候确实会有点

11-07 best365中国官网