10.45. Perl-5.18.1 64 bits

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

10.45.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/lib64,' \
       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.18.1-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@/lib64@" hints/linux.sh

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

echo 'installstyle="lib64/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/lib64 /lib64 /usr/lib64" \
   -Dcc="gcc ${BUILD64}" \
   -Dusethreads -Duseshrplib

Voici la signification des options de configure :

-Dlibpth="/usr/local/lib64 /lib64 /usr/lib64"

Ceci indique à Perl de se lier aux bibliothèques 64 bits.

-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{,-64}
mv -v /usr/bin/perl5.18.1{,-64}

Nous devons à présent créer un lien vers le multiarch wrapper afin de nous permettre de choisir quelle installation de Perl utiliser :

ln -sv multiarch_wrapper /usr/bin/perl
ln -sv multiarch_wrapper /usr/bin/perl5.18.1

La valeur de la variable d'environnement USE_ARCH décidera du binaire de perl à exécuter. USE_ARCH=32 perl -V:cc donnera la valeur du CC utilisé pour construire Perl 32 bits. Le multiarch_wrapper sera utile plus tard pour compiler des extensions de Perl. Sans le programme multiarch_wrapper, il sera très difficile de mettre en place une extension 32 bits.

10.45.2. Contenu de Perl

Programmes installés: a2p, c2ph, config_data, corelist, cpan, cpan2dist, cpanp, cpanp-run-perl, enc2xs, find2perl, h2ph, h2xs, instmodsh, json_pp, libnetcfg, perl, perl5.18.1 (lien vers perl), perlbug, perldoc, perlivp, perlthanks (lien vers perlbug), piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text, pod2usage, podchecker, podselect, prove, psed (lien vers s2p), pstruct (lien vers c2ph), ptar, ptardiff, ptargrep, s2p, shasum, splain, xsubpp, and zipdetails
Bibliothèques installées: Plusieurs centaines qu'on ne peut pas tous lister ici.
Répertoires installés: /usr/lib/perl5

Descriptions courtes

a2p

Traduit awk en perl

c2ph

Affiche les structures C comme si elles étaient générées à partir de cc -g -S

config_data

Remplace ou modifie la configuration de modules Perl

corelist

Une interface en ligne de commande pour Module::CoreList

cpan

Script shell qui fournit une interface de commande à CPAN.pm.

cpan2dist

Le créateur de distribution CPANPLUS

cpanp

Le lanceur CPANPLUS

cpanp-run-perl

Script Perl qui (description needed)

enc2xs

Construit une extension Perl pour le module Encode, soit à partir de Unicode Character Mappings soit à partir de Tcl Encoding Files

find2perl

Traduit les commandes find en Perl

h2ph

Convertit les fichiers d'en-têtes C .h en fichiers d'en-têtes Perl .ph

h2xs

Convertit les fichiers d'en-têtes C .h en extensions Perl

instmodsh

Un script shell pour observer les modules Perl installés, il peut même créer une archive tar à partir d'un module installé

json_pp

Convertit des données entre certains formats d'entrée et de sortie

libnetcfg

Peut être utilisé pour configurer libnet

ptar

Un programme similaire à tar écrit en Perl

ptardiff

Un programme Perl qui compare une archive extraite et une autre non extraite

perl

Combine quelques-unes des meilleures fonctionnalités de C, sed, awk et sh en un langage style couteau suisse

perl5.18.1

Un lien vers perl

perlbug

Utilisé pour générer des rapports de bogues sur Perl ou les modules l'accompagnant et pour les envoyer par courrier électronique

perldoc

Affiche une partie de la documentation au format pod, embarquée dans le répertoire d'installation de Perl ou dans un script Perl

perlivp

La procédure de vérification d'installation de Perl (Perl Installation Verification Procedure). Elle peut être utilisée pour vérifier que Perl et ses bibliothèques ont été installés correctement

perlthanks

Utilisé pour générer des messages de remerciement aux développeurs de Perl

piconv

Une version Perl du convertisseur d'encodage des caractères iconv

pl2pm

Un outil simple pour la conversion des fichiers Perl4 .pl en modules Perl5 .pm

pod2html

Convertit des fichiers à partir du format pod vers le format HTML

pod2latex

Convertit des fichiers à partir du format pod vers le format LaTeX

pod2man

Convertit des fichiers à partir du format pod vers une entrée formatée *roff

pod2text

Convertit des fichiers à partir du format pod vers du texte ANSI

pod2usage

Affiche les messages d'usage à partir des documents embarqués pod

podchecker

Vérifie la syntaxe du format pod des fichiers de documentation

podselect

Affiche les sections sélectionnées de la documentation pod

prove

Un outil en ligne de commande pour lancer des tests liés au module Test::Harness.

psed

Une version Perl de l'éditeur de flux sed

pstruct

Affiche les structures C générées à partir de cc -g -S stabs

ptargrep

Un programme Perl appliquant des modèles correspondant au contenu des fichiers d'une archive tar

s2p

Traduit sed en perl

shasum

Affiche ou vérifie des sommes de contrôle SHA

splain

Utilisé pour forcer la verbosité des messages d'avertissement avec Perl

xsubpp

Convertit le code Perl XS en code C

zipdetails

Affiche des détails sur la structure interne d'un fichier Zip