<< Back to man.lupaworld.com

5.32. Perl-5.8.7

Perl 是 Practical Extraction and Report Language的缩写。Perl 将 C, sed, awk 和 sh 的最佳特性集于一身,是一种强大的编程语言。

预计编译时间: 0.8 SBU
所需磁盘空间: 81.6 MB
安装依赖于: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed

5.32.1. 安装 Perl

首先应用下面的补丁,调整指向 C 库的硬连接路径:

patch -Np1 -i ../perl-5.8.7-libc-1.patch

[勘误] Perl-5.8.7 的 "sprintf" 函数存在一个缓冲区溢出漏洞,请从http://www.linuxfromscratch.org/patches/downloads/perl/perl-5.8.7-sprintf_vulnerability-1.patch下载修复该问题的补丁。然后应用它:

patch -Np1 -i ../perl-5.8.7-sprintf_vulnerability-1.patch

准备编译 Perl(请正确输入下面命令中的"IO Fcntl POSIX"——全是字母):

./configure.gnu --prefix=/tools -Dstatic_ext='IO Fcntl POSIX'

配置选项的含义:

-Dstatic_ext='IO Fcntl POSIX'

这个选项让 Perl 编译静态扩展的最小集,下一章安装和测试 Coreutils 软件包的时候需要用到。

仅编译这个软件包中一小部分必要的工具:

make perl utilities

尽管 Perl 附带测试程序,但我们不推荐在这里运行。由于只编译了一部分 Perl,现在运行 make test 会编译 Perl 的其余部分,而这里我们并不需要它们。如果想测试的话,可以到下一章再运行测试程序。

安装这些工具和库:

cp -v perl pod/pod2man /tools/bin
mkdir -pv /tools/lib/perl5/5.8.7
cp -Rv lib/* /tools/lib/perl5/5.8.7

关于这个软件包的详细资料位于 Section 6.33.2, "Contents of Perl."