10.31. Perl-5.8.8 64 Bit

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

10.31.1. Installation de Perl

Le correctif suivant amène makedepend.sh à iupprimer aussi <command-line> en plus de <command line> :

patch -Np1 -i ../perl-5.8.8-gcc42_fix-1.patch

Le correctif suivant empêche perl d'inclure asm/page.h qui ne sera plus disponible dans les en-têtes fournies par le noyau 2.6.25 et suivants :

patch -Np1 -i ../perl-5.8.8-no_page_h-1.patch

Le correctif suivant corrige des vulnérabilités connues de perl :

patch -Np1 -i ../perl-5.8.8-security_fixes-1.patch

Le sed suivant fait que DynaLoader.a est construit avec -fPIC afin qu'il puisse être lié plus tard à une bibliothèque partagée :

sed -i -e "s@pldlflags=''@pldlflags=\"\$cccdlflags\"@g" \
    -e "s@static_target='static'@static_target='static_pic'@g" Makefile.SH

Perl does not, by default, know about library directories with names other than lib, The following patch will allow it to install to other directories:

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

There is a further (possibly cosmetic) anomaly - if we install perl and then run perl -V it will claim that libc is in /lib. The following sed fixes this, but only takes effect when make install is run:

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

We still need to tell perl to actually use 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 \
   -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

The meaning of the new configure option:

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

This tells Perl to link against the 64-bit libraries.

-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.

Compilez le paquet :

make

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

Installez le paquet :

make install

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

mv /usr/bin/perl{,-64}
mv /usr/bin/perl5.8.8{,-64}

Now we need to create a link to the multiarch wrapper that lets us choose which perl installation to use:

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

The value of the USE_ARCH environment variable will decide which perl binary to execute. USE_ARCH=32 perl -V:cc will give the value of CC used to build the 32bit perl. The multiarch_wrapper will help later with building perl extensions and bindings. Without the multiarch_wrapper it is very hard to setup a 32bit extension or binding.

10.31.2. Contenu de Perl

Programmes installés: a2p, c2ph, cpan, dprofpp, enc2xs, find2perl, h2ph, h2xs, instmodsh, libnetcfg, perl, perl5.8.8 (link to perl), perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text, pod2usage, podchecker, podselect, prove, psed (link to s2p), pstruct (link to c2ph), s2p, splain et xsubpp
Bibliothèques installées: Several hundred which cannot all be listed here

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

cpan

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

dprofpp

Affiche les données profile de Perl

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

libnetcfg

Peut être utilisé pour configurer libnet

instmodsh

Script shell pour examiner les modules Perl installés et pouvant même créer une archive tar à partir d'un module installé

perl

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

perl5.8.8

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

perlcc

Génère des exécutables à partir des programmes Perl

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

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

s2p

Traduit sed en perl

splain

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

xsubpp

Convertit le code Perl XS en code C