Deinstallieren Sie Perl 5.10 und installieren Sie 5.8 unter Ubuntu 10.04

3759
user48848

Ich habe Ubuntu 8.04 mit installiertem Perl 5.8.8 verwendet. Ich hatte Bugzilla 3.4.4 mit einigen benutzerdefinierten Skripts installiert und es funktionierte einwandfrei. Ich musste Ubuntu von 8.04 auf 10.04 aktualisieren und automatisch wird Perl auch von Perl 5.8 auf 5.10 aktualisiert. Wenn Sie nun auf Bugzilla zugreifen, wird eine Fehlermeldung angezeigt, die sich auf das Perl-Modul bezieht. Während checksetup.plich versuche zu laufen, erhalte ich folgende Fehlermeldung:

root@cvsnew:/var/www/bugzilla-3.4# perl checksetup.pl * This is Bugzilla 3.4.3 on perl 5.10.1 * Running on Linux 2.6.32-24-generic-pae #39-Ubuntu SMP Wed Jul 28 07:39:26 UTC 2010 Checking perl modules... Checking for CGI.pm (v3.33) ok: found v3.48 perl: symbol lookup error: lib/i486-linux-gnu-thread-multi/auto/Digest/SHA/SHA.so: undefined symbol: Perl_Tstack_sp_ptr 

Der Zugriff auf Bugzilla-Throws: "500 Internal Server Error".

Ich habe dieses Problem untersucht und festgestellt, dass dieses Problem aufgetaucht ist, da durch das Upgrade von Ubuntu Perl 5.8 automatisch auf 5.10 aktualisiert wird. Es scheint, als wäre Perl 5.10.1 nicht binär mit dem vorherigen kompatibel.

Nun möchte ich Perl 5.10.1 deinstallieren und Perl 5.8.8 auf meiner Ubuntu 10.04 Box installieren. Ich werde es schätzen, wenn jemand dies bereits getan hat, oder die erforderlichen Schritte / Befehle teilen, um dies zu tun.

1
Diese Frage hier auch http://ubuntuforums.org/showthread.php?p=9823649 subanki vor 14 Jahren 0
Perl 5.10 hat [viele neue Funktionen] (http://perldoc.perl.org/perl5100delta.html) in PERL eingeführt. Es lohnt sich wahrscheinlich, ein Upgrade Ihrer Module durchzuführen, um damit arbeiten zu können, anstatt auf eine frühere Version herunterzustufen. terdon vor 12 Jahren 1

3 Antworten auf die Frage

1
Kindjal

Vielleicht können Sie das Problem lösen, indem Sie von abweichen apt. Behalten Sie die Perl- Version der Betriebssystemdistribution bei, und verwenden Sie Perlbrew, um alternative Perl-Versionen an einem anderen Speicherort zu installieren, z /opt/perl. B. in .

Verwenden Sie dann Shell-Wrapper und solche, um Perlbrew für die Auswahl des geeigneten Perl zu der entsprechenden Zeit auszulösen.

1
ZaB

Ja - Sie müssen alle Perl-Module aktualisieren, wenn Sie die Basisversion von Perl ändern.

apt-get install perl-cgi 

und so weiter bis es richtig ist.

0
Alex

Im Allgemeinen unterstützt das APT-Verpackungssystem, das Sie verwenden, das Mischen von Versionen aus verschiedenen Distributionen. Dies kann jedoch auch eine Menge durcheinander bringen.

Wenn Sie Ihr System zerstören können, versuchen Sie Folgendes (ungeprüft):

  • Füge eine Zeile mit "hardy" anstelle von karmic hinzu /etc/apt/sources/list(die karmische Linie bleibt immer noch da)
  • aptitude install perl -t hardy sollte die perl-version von hardy installieren