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

1

Я использовал 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. Я буду признателен, если кто-то уже сделал это или поделится необходимыми шагами / командами, чтобы сделать это.

user48848
источник
Этот вопрос здесь тоже ubuntuforums.org/showthread.php?p=9823649
subanki
1
В Perl 5.10 появилось много новых функций в PERL. Вероятно, стоит обновить ваши модули, чтобы иметь возможность работать с ним, а не переходить на предыдущую версию.
Тердон

Ответы:

1

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

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

Kindjal
источник
1

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

apt-get install perl-cgi

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

Заб
источник
0

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

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

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