10.47. Perl-5.14.0 32 Bit Libraries

The Perl package contains the Practical Extraction and Report Language.

10.47.1. Installation of Perl

By default, Perl's Compress::Raw::Zlib module builds and links against its own internal copy of Zlib. The following command will tell it to use the system-installed Zlib:

sed -i -e '/^BUILD_ZLIB/s/True/False/' \
       -e '/^INCLUDE/s,\./zlib-src,/usr/include,' \
       -e '/^LIB/s,\./zlib-src,/usr/lib,' \


If you are following the boot method you will need to enable the loopback device as well as set a hostname for some of the tests:

ip link set lo up
hostname clfs

Before starting to configure, create a basic /etc/hosts file which will be referenced by one of Perl's configuration files as well as used by the testsuite:

echo " localhost $(hostname)" > /etc/hosts

To have full control over the way Perl is set up, you can run the interactive Configure script and hand-pick the way this package is built. If you prefer instead to use the defaults that Perl auto-detects, prepare Perl for compilation with:

./configure.gnu --prefix=/usr \
   -Dvendorprefix=/usr \
   -Dman1dir=/usr/share/man/man1 \
   -Dman3dir=/usr/share/man/man3 \
   -Dpager="/bin/less -isR" \
   -Dcc="gcc ${BUILD32}" \
   -Dusethreads -Duseshrplib

The meaning of the configure option:

-Dpager="/bin/less -isR"

This corrects an error in the way that perldoc invokes the less program.

-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3

Since Groff is not installed yet, configure.gnu thinks that we do not want man pages for Perl. Issuing these parameters overrides this decision.


This tells Perl to use threads.


This tells Perl to build a shared libperl.

Compile the package:


To test the results, issue: make test.

Install the package:

make install

Add a suffix to the perl binary which will be used by the multiarch wrapper:

mv -v /usr/bin/perl{,-32}
mv -v /usr/bin/perl5.14.0{,-32}

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