10.60. Bibliothèques Perl-5.16.2 N32

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

10.60.1. Installation de Perl

Par défaut, le module Compress::Raw::Zlib de Perl se construis et se lie à sa propre copie de de Zlib. La commande suivante lui dit d'utiliser la Zlib installée sur le système :

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 n'a pas connaissance par défaut de noms des répertoires de bibliothèques autres que lib. Le correctif suivant va permettre son installation dans d'autres répertoires> 

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

Une autre anomalie subsiste, bien que moins importante : si nous installons perl et lançons la commande perl -V, elle affichera que la libc est dans /lib. La commande sed suivante corrige ce comportement mais ne prendra effet que lors de la commande make install :

sed -i "/libc/s@/lib@/lib32@" hints/linux.sh

Nous devons encore dire à Perl d'utiliser le répertoire lib32 :

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

Pour avoir un contrôle complet de la façon dont Perl est paramétré, vous pouvez lancer le script Configure et choisir la façon dont ce paquet est construit. Si vous préférez plutôt utiliser les paramètres par défaut autodétectés par Perl, préparez la compilation de Perl 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 des options de configure :

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

Ceci ordonne à Perl de se lier aux bibliothèques N32.

-Dpager="/usr/bin/less -isR"

Ceci corrige une erreur dans la façon dont perldoc fait appel au programme less.

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

Comme Groff n'est pas installé, configure.gnu pense que nous ne voulons pas les pages de man de Perl. Ces paramètres changent cette décision.

-Dusethreads

Ceci dit à Perl d'utiliser les threads.

-Duseshrplib

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

Compilez le paquet :

make

Pour tester les résultats, exécutez : make test.

Installez le paquet :

make install

Ajoutez un suffixe au binaire perl afin de l'emballer avec le multiarch wrapper :

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

Les détails sur ce paquet sont disponibles dans Section 10.61.2, “Contenu de Perl.”