Удалите Perl 5.10 и установите 5.8 в Ubuntu 10.04

3657
user48848

Я использовал Ubuntu 8.04 с установленным Perl 5.8.8. Я установил Bugzilla 3.4.4 с некоторыми пользовательскими скриптами, и он работал нормально. Мне пришлось обновить Ubuntu с 8.04 до 10.04, и автоматически Perl также обновляется с Perl 5.8 до 5.10. Теперь при доступе к Bugzilla отображается сообщение об ошибке, связанное с модулем Perl. При попытке запустить checksetup.plя получаю следующее сообщение об ошибке:

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 

Доступ к броскам Bugzilla: «500 Внутренняя ошибка сервера».

Я исследовал эту проблему и обнаружил, что эта проблема возникла потому, что обновление Ubuntu автоматически обновляет Perl 5.8 до 5.10. Похоже, что Perl 5.10.1 не является двоичным, совместимым с предыдущим.

Теперь я хочу удалить Perl 5.10.1 и установить Perl 5.8.8 на моем Ubuntu 10.04. Я буду признателен, если кто-то уже сделал это или поделится необходимыми шагами / командами, чтобы сделать это.

1
Этот вопрос здесь тоже http://ubuntuforums.org/showthread.php?p=9823649 subanki 13 лет назад 0
Perl 5.10 представил [много новых функций] (http://perldoc.perl.org/perl5100delta.html) для PERL. Вероятно, стоит обновить ваши модули, чтобы иметь возможность работать с ним, а не переходить на предыдущую версию. terdon 11 лет назад 1

3 ответа на вопрос

1
Kindjal

Возможно, вы можете решить проблему, отклонившись от apt. Сохраните perl дистрибутива ОС как есть и используйте perlbrew для установки альтернативных версий perl в другом месте, например, в /opt/perl.

Затем используйте оболочки оболочки и так далее, чтобы вызвать perlbrew для выбора соответствующего perl в соответствующее время.

1
ZaB

Да - вам нужно обновить все модули Perl при изменении базовой версии Perl.

apt-get install perl-cgi 

и так до тех пор, пока все не получится.

0
Alex

В целом используемая вами система упаковки APT поддерживает смешивание версий из разных дистрибутивов, но это также может сильно испортить.

Если вы можете рискнуть разрушить вашу систему, попробуйте это (не проверено):

  • Добавьте строку с «выносливым» вместо кармического к себе /etc/apt/sources/list(кармическая черта все еще остается там)
  • aptitude install perl -t hardy следует установить версию Perl с Hardy

Похожие вопросы