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.pl
Ich 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.
quelle
Antworten:
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.
quelle
Ja - Sie müssen alle Perl-Module aktualisieren, wenn Sie die Basisversion von Perl ändern.
und so weiter bis es richtig ist.
quelle
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):
/etc/apt/sources/list
(die karmische Linie bleibt immer noch da)aptitude install perl -t hardy
sollte die perl-version von hardy installierenquelle