5.28. Perl-5.12.3

The Perl package contains the Practical Extraction and Report Language.

Approximate build time: 0.8 SBU
Required disk space: 106 MB

5.28.1. Installation of Perl

First apply the following patch to adapt some hard-wired paths to the C library:

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

Perl builds with -fstack-protector by default. The following command replaces this option with -fstack-protector-all so that all functions are protected:

mv -v Configure{,.orig}
sed 's/-fstack-protector/&-all/' Configure.orig > Configure

Prepare Perl for compilation (make sure to get the 'Data/Dumper Fcntl IO' part of the command correct—they are all letters):

sh Configure -des -Dprefix=/tools \
                  -Dstatic_ext='Data/Dumper Fcntl IO'

The meaning of the configure options:

-Dstatic_ext='Data/Dumper Fcntl IO POSIX'

This tells Perl to build the minimum set of static extensions needed for installing and testing the Coreutils and Glibc packages in the next chapter.

Only a few of the utilities contained in this package, and one of its libraries, need to be built:

make perl utilities ext/Errno/pm_to_blib

Although Perl comes with a test suite, it is not recommended to run it at this point. Only part of Perl was built and running make test now will cause the rest of Perl to be built as well, which is unnecessary at this point. The test suite can be run in the next chapter if desired.

Install these tools and their libraries:

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

Details on this package are located in Section 6.38.2, “Contents of Perl.”