Perl 5.14 parallel zu einem bestehendem Perl installieren

Veröffentlicht von Thomas Fahle am (Permalink)

Perl 5.14.0 ist bereits seit dem 15. Mai 2011 verfügbar. Die Neuerungen sind ausführlich in perldelta beschrieben.

Wer die neue Version einfach einmal ausprobieren möchte, kann Perl 5.14.0 aus den Sourcen parallel zu einem bestehenden Perl installieren.

 

Vorbereitungen: C-Compiler und Bibliotheken installieren

Um Perl kompilieren zu können, werden neben einem C-Compiler weitere Werkzeuge und Bibliotheken benötigt. Unter Ubuntu 10.04 (LTS) installiert man dazu einfach folgende Pakete:

$ sudo apt-get install build-essential
$ sudo apt-get install libdb-dev libdb4.7
$ sudo apt-get install libgdbm-dev libgdbm3

Neuere Ubuntu-Versionen verwenden libdb4.8.

 

Installation perl-5.14.0

Ziel: Perl 5.14.0 soll parallel zu dem bestehenden Perl 5.10.1 in das Verzeichnis /opt/perl5.14.0 installiert werden.

$ sudo mkdir /opt/perl5.14.0

$ cd /tmp/
$ wget http://search.cpan.org/CPAN/authors/id/J/JE/JESSE/perl-5.14.0.tar.gz
$ tar xzvf perl-5.14.0.tar.gz
$ cd perl-5.14.0/

$ ./Configure -des -Dprefix=/opt/perl-5.14.0 -Dusethreads
$ make
$ make test
$ sudo make install

Jetzt sollten zwei verschiedene Perl-Versionen auf dem System vorhanden sein:

$ /opt/perl-5.14.0/bin/perl -v

This is perl 5, version 14, subversion 0 (v5.14.0) built for i686-linux-thread-multi

Copyright 1987-2011, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

und

$ /usr/bin/perl -v

This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi

Copyright 1987-2009, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

Die neue Version verwenden

Für Perl 5.14.0 muss stets der volle Pfad angegeben werden. (Die Umgebungsvariable PATH bleibt unverändert.)

Entweder in der Shebang-Zeile

#!/opt/perl-5.14.0/bin/perl
use strict;
use warnings;

oder auf der Kommandozeile:

$ /opt/perl-5.14.0/bin/perl meinprogramm.pl

CPAN Module installieren

CPAN-Module lassen sich wie gehabt per CPAN-Shell installieren.

$ /opt/perl-5.14.0/bin/cpan

cpan shell -- CPAN exploration and modules installation (v1.9600)
Enter 'h' for help.

cpan[1]> install YAML
....
Appending installation info to 
/opt/perl-5.14.0/lib/5.14.0/i686-linux-thread-multi/perllocal.pod

Leider steht noch keine aktuelle Version von ExtUtils::MakeMaker zur Verfügung. Einige XS-Module lassen sich wegen der Abhängigkeit auf cc_runtime.h nicht installieren. Abhilfe schafft die manuelle Installation des Developer-Releases von ExtUtils::MakeMaker.

$ wget http://search.cpan.org/CPAN/authors/id/M/MS/MSCHWERN/ExtUtils-MakeMaker-6.57_11.tar.gz
$ tar xzvf ExtUtils-MakeMaker-6.57_11.tar.gz
$ cd ExtUtils-MakeMaker-6.57_11
$ /opt/perl-5.14.0/bin/perl Makefile.PL
$ make
$ make test
$ sudo make install

 

Installation mit App-perlbrew

App-perlbrew, ist ein Werkzeug, welches die Installation und Verwendung mehrerer Perl-Versionen erheblich vereinfacht. Root-Rechte werden nicht benötigt.

$ curl -LO http://xrl.us/perlbrew
$ chmod +x perlbrew
$ ./perlbrew init
$ source ~/perl5/perlbrew/etc/bashrc
$ ./perlbrew install perl-5.14.0 -D=usethreads
....

Die neue Version verwenden

App-perlbrew verändert über den Schalter switch die Umgebungsvariable PATH

$ perlbrew switch perl-5.14.0
$ perl -v

This is perl 5, version 14, subversion 0 (v5.14.0) built for i686-linux-thread-multi

Copyright 1987-2011, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

$ which perl
/home/tf/perl5/perlbrew/perls/perl-5.14.0/bin/perl

Dank der Pfadmanipulation wird nun das passende Perl auf der Kommandozeile gefunden.

$ perl  meinprogramm.pl

Im Programm selbst bietet sich folgende Shebang-Zeile an:

#!/usr/bin/env perl
use strict;
use warnings;

print "Perl-Version: $]\n";

CPAN Module installieren

Das passende Kommandozeilentool cpan liegt im Pfad.

$ perlbrew switch perl-5.14.0
$ cpan
cpan[1]> install YAML
....
Appending installation info to 
/home/tf/perl5/perlbrew/perls/perl-5.14.0/lib/5.14.0/i686-linux-thread-multi/perllocal.pod

 

Siehe auch

Weitere Posts