估计编译时间: 0.94 SBU 估计所需硬盘空间: 40 MB |
静态链接的Fileutils包在某些装有Glibc-2.2.3的系统中可能会引起segmentation faults。似乎在使用AMD CPU的机器上发生得多一些但也有一两例是在使用Intel CPU的机器上。如果你的机子属于这种情况,就使用下面的补丁。
注意:有时使用补丁会造成无法编译这个包,即使你是用AMD CPU 并且装了Glibc-2.2.3 (或更高) 。如果出现这种情况,你应该把 fileutils-4.1 这个目录给删掉,重新解压,再继续。我们相信这是由于你的发行版修改了 Glibc-2.2.3 ,但是细节目前还不是很清楚。
为了在AMD/Glibc-2.2.3 的机器上正确编译,用下面的命令。如果你的机器没有装 Glibc-2.2.3 ,就 不要用补丁,否则会引起多种编译错误。
patch -Np1 -i ../fileutils-4.1.patch |
用下面的命令安装 Fileutils:
LDFLAGS=-static \ ./configure --disable-nls --prefix=$LFS/static && make && make install |
一旦你装上了Fileutils,你可以测试一下是否会 segmentation fault。运行 $LFS/static/bin/ls。如果能工作,说明一切正常,否则,你就要重装Fileutils。如果上一次你没有用补丁,那么这次就要用补丁,反之,上次用了补丁,这次就不要用。
patch -Np1 -i ../fileutils-4.1.patch: 这个补丁用来修正在glibc 2.2.3系统中静态编译fileutils时可能发生的错误。如果没有修正,而错误又发生了的话,那可能在第六章中进入chroot的环境时所有的 fileutils 程序都会引起segmentation faults 。
最后检查于 version 4.1.
chgrp, chmod, chown, cp, dd, df, dir, dircolors, du, install, ln, ls, mkdir, mkfifo, mknod, mv, rm, rmdir, shred, sync, touch and vdir
ls、dir和vdir: dir和vdir都是ls的一个版本,默认的输出格式不同。这些程序的功能都是列出给出的文件或者目录名。目录中的内容按照字母顺序排序。对于ls,如果标准输出设备是一个终端,默认的文件名显示方式是成列输出,竖向排序;否则每行只有一个输出。对于dir,默认的文件名显示方式也是成列输出,竖向排序。对于vdir,文件名使用长格式显示。
最后检查于 version 4.1.
Bash: sh
Binutils: ar, as, ld, ranlib
Diffutils: cmp
Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm, rmdir
Gettext: msgfmt, xgettext
Gcc: cc, cc1, collect2, cpp0, gcc
Grep: egrep, fgrep, grep
Make: make
Perl: perl
Sed: sed
Sh-utils: basename, echo, expr, hostname, sleep, uname
Texinfo: install-info
Textutils: cat, tr