8.国际化语言支持工具 gettext-0.16.1
- 安装原因:在某些软件包中需要生成国际化的语言支持文件, gettext 软件包中包含能够满足著作要求的命令。临时系统中只需要编译和安装 gettext 中的 msgfmt 命令即可
tar xvf /lfs-sources/gettext-0.16.1.tar.gz cd gettext-0.16.1 cd gettext-tools ./configure --prefix=/tools --disable-shared make -C gnulib-lib make -C src msgfmt cp -v src/msgfmt /tools/bin cd $LFS/sources rm -rf gettext-0.16.1
- cd gettext-tools ./configure --prefix=/tools --disable-shared 只需要安装 msgfmt 命令,不安装任何共享库,通过 --disable-shared 取消共享库的编译
- make -C gnulib-lib make -C src msgfmt 编译 msgfmt 命令需要 gnulib-lib 中函数库的支持,所以先编译 gnulib-lib 再编译 msgfmt
- cp -v src/msgfmt /tools/bin 将编译好的 msgfmt 命令手工安装到 /tools/bin 目录下以备使用
9.文本匹配搜索工具 grep-2.5.1a
- 某些软件包的制作过程需要使用 grep 命令对文本进行筛选处理
tar xvf /lfs-sources/grep-2.5.1a.tar.bz2 cd grep-2.5.1a ./configure --prefix=/tools --disable-perl-regexp make make install cd .. rm -rf grep-2.5.1a
- --disable-perl-regexp 该参数强制不使用 perl 的 regexp 支持
- 许多软件包采用 gz 格式压缩源代码包,安装 gzip 软件包来支持生成或解压 gz 格式的文件
tar xvf /lfs-sources/gzip-1.3.12.tar.gz cd gzip-1.3.12 ./configure --prefix=/tools make make install cd .. rm -rf gzip-1.3.12
11.编译过程控制工具 make-3.81
- 常见的软件包编译都是采用 makefile 文件来进行控制的,make 命令是专门用于解释并执行 makefile 中定义的过程
tar xvf /lfs-sources/make-3.81.tar.bz2 cd make-3.81 ./configure --prefix=/tools make make install cd .. rm -rf make-3.81
12.补丁文件使用工具 patch-2.5.4
- 很多软件包的安装需要打上一些"补丁"才能通过编译并正常使用, patch 命令是最常用的打补丁命令
tar xvf /lfs-sources/patch-2.5.4.tar.gz cd patch-2.5.4 ./configure --prefix=/tools make make install cd .. rm -rf patch-2.5.4
13.广泛使用的脚本语言 perl-5.8.8
- perl 是一种强大的脚本语言。一些软件包中带的编译安装脚本或者测试脚本会使用到 perl .
tar xvf /lfs-sources/perl-5.8.8.tar.bz2 cd perl-5.8.8 patch -Np1 -i /lfs-sources/perl-5.8.8-libc-2.patch ./configure.gnu --prefix=/tools -Dstatic_ext='Data/Dumper Fcntl IO POSIX' make perl utilities cp -v perl pod/pod2man /tools/bin mkdir -pv /tools/lib/perl5/5.8.8 cp -Rv lib/* /tools/lib/perl5/5.8.8 cd .. rm -rf perl-5.8.8
- -Dstatic_ext='Data/Dumper Fcntl IO POSIX' 指定安装 perl 中哪些部件,在临时系统中并不需要完整的 perl 支持,只要安装必要的部件就可以了
- make perl utilities 编译 perl 必须要安装的命令
- cp -v perl pod/pod2man /tools/bin 将编译出来的 perl 和 pop2man 命令安装到 /tools/bin 目录下以备使用
- mkdir -pv /tools/lib/perl5/5.8.8 cp -Rv lib/* /tools/lib/perl5/5.8.8 安装所需的 perl 库文件,将编译出来的 perl 所需的辅助文件存放在 /tools/lib/perl5/5.8.8 目录中,这个是 perl 会默认读取辅助文件的目录