10.73. Bibliothèques Perl-5.26.0 N32

Le paquet Perl contient le langage de rapport et d'extraction pratique (Practical Extraction and Report Language)

10.73.1. Installation de Perl

Par défaut, les modules perl Compress::Raw::Wlib et Compress::Raw::Bzip2 sont construit et se lient à des copient internes de Zlib et Bzip2. La commande suivante fera que Perl utilisera les copies du système de ces bibliothèques :

sed -i -e '/^BUILD_ZLIB/s/True/False/' \
       -e '/^INCLUDE/s,\./zlib-src,/usr/include,' \
       -e '/^LIB/s,\./zlib-src,/usr/lib32,' \
       cpan/Compress-Raw-Zlib/config.in

Perl ne connaît pas par défaut les répertoires des bibliothèques avec un autre nom que lib. Le correctif suivant permettra d'installer dans d'autres répertoires :

patch -Np1 -i ../perl-5.26.0-Configure_multilib-1.patch

Nous devons toujours dire à perl d'utiliser lib32 :

echo 'installstyle="lib32/perl5"' >> hints/linux.sh

Pour avoir le contrôle complet sur la manière dont Perl est paramétré vous pouvez lancer le script interactif Configure et choisir comment le paquet sera construit. Si vous préférez plutôt utiliser les paramètres par défaut que Perl détecte automatiquement, préparez Perl à la compilation avec :

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

Voici la signification de la nouvelle option de configure :

-Dlibpth="/usr/local/lib32 /lib32 /usr/lib32"

Cela dit à perl de se lier aux bibliothèques N32.

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

Comme Groff n'est pas encore installé, configure.gnu pense que nous ne voulouns pas les pages de manuel de Perl. Ces paramètres reviennent sur cette décision.

-Dpager="/bin/less -isR"

Less n'a pas encore été installé, donc perldoc invoquera le programme more par défaut pour visionner la documentation. Cette option s'assure qu'il utilisera plutôt less.

-Dusethreads

Cela dit à Perl d'utiliser le multithreading.

-Duseshrplib

Cela dit à Perl de construire une libperl partagée.

Compilez le paquet :

make

Pour tester les résultats, lancez :

make test

Installez le paquet et supprimez les variables précédement initialisées :

make install
unset BUILD_ZLIB BUILD_BZIP2

Ajoutez un suffixe au binaire perl afin de l'emballer avec l'enveloppe multi-architecture :

mv -v /usr/bin/perl{,-n32}
mv -v /usr/bin/perl5.26.0{,-n32}

Des détails sur ce paquet se trouvent sur Section 10.74.2, « Contenu de Perl. »