Deinstallieren Sie Perl 5.10 und installieren Sie 5.8 unter Ubuntu 10.04


1

Ich habe Ubuntu 8.04 mit installiertem Perl 5.8.8 verwendet. Ich hatte Bugzilla 3.4.4 mit einigen benutzerdefinierten Skripten 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. Beim Versuch zu rennen checksetup.plIch erhalte die 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

Zugriff auf Bugzilla-Würfe: "500 Interner Serverfehler".

Ich habe dieses Problem untersucht und festgestellt, dass dieses Problem aufgetaucht ist, da bei der Aktualisierung 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
Perl 5.10 wurde eingeführt viele neue Funktionen in PERL. Es ist wahrscheinlich wert, Ihre Module zu aktualisieren, um mit ihnen arbeiten zu können, anstatt auf eine frühere Version herunterzusteigen.
terdon

Antworten:


1

Vielleicht können Sie das Problem lösen, indem Sie von abweichen apt. Behalten Sie die Perl der OS-Distribution so wie sie ist, und verwenden Sie sie perlbrew Um alternative Versionen von Perl an einem anderen Ort zu installieren, sagen Sie in /opt/perl.

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


1

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

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ügen Sie eine Zeile mit "hardy" anstelle von karmic zu Ihrem hinzu /etc/apt/sources/list (die karmische Linie bleibt immer noch da)
  • aptitude install perl -t hardy sollte die perl-version von hardy installieren
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.