6.44.2. Installation von Perl
Der Linguist Larry Wall entwarf sie 1987 als Synthese aus C, awk,
einigen Unix-Befehlen und anderen Einflüssen. Ursprünglich als
Werkzeug zur Verarbeitung und Manipulation von Textdateien
insbesondere bei System- und Netzwerkadministration vorgesehen (zum
Beispiel Auswertung von Logdateien), hat Perl auch bei der
Entwicklung von Webanwendungen weite Verbreitung gefunden.
Erstmal erzeugen wir die Datei /etc/hosts
, sie wird vom Perl Buildsystem
benötigt:
echo "127.0.0.1 localhost $(hostname)" > /etc/hosts
Perl würde gern sein eigenes Zlib hernehmen, das wollen wir aber
nicht, weil wir haben was besseres, nämlich die von uns
installierte Version, daher:
sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|" \
-e "s|INCLUDE\s*= ./zlib-src|INCLUDE = /usr/include|" \
-e "s|LIB\s*= ./zlib-src|LIB = /usr/lib|" \
cpan/Compress-Raw-Zlib/config.in
Wegen eines Fehlers im Digest Modul von Perl eine kleine
Aktualisierung:
patch -Np1 -i ../patches/perl-5.14.2-digest-1.patch
Wer Perl gerne genauer Konfigurieren will kann das interaktive
Configure ausführen.
Wem die automatische Variante reicht der führt folgenden Befehl
aus:
sh Configure -des -Dprefix=/usr \
-Dvendorprefix=/usr \
-Dman1dir=/usr/share/man/man1 \
-Dman3dir=/usr/share/man/man3 \
-Dpager="/usr/bin/less -isR" \
-Duseshrplib
Die Bedeutung der Parameter für configure:
-
-Dvendorprefix=/usr
-
Dies stellt sicher das alle Perl Module unter /usr
im Perl Seiten Zweig landen.
-
-Dpager="/usr/bin/less
-isR"
-
Dies beseitigt einen Fehler in Kommando perldoc .
-
-Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3
-
Weil Groff noch nicht installiert ist meint das Configure Script wir wollen
keine Man-Seiten für Perl, Diese Parameter ändern dies.
-
-Duseshrplib
-
Einige Perl Module möchten gerne eine Dynamische Bibliothek.
Hiermit sagen wir Perl es soll eine bauen
Das Paket kompilieren:
make
Teste das soeben kompilierte Paket:
make test
Installiere das Paket:
make install
Nun das Verzeichnis verlassen und dann entfernen:
cd .. &&
rm -rf perl-5.14.2/