Назад | Перейти на главную страницу

Сломанное обновление debian, вызывающее проблемы с Perl

Итак, я напихал обновление debian, как upgrade, так и dist-upgrade. Я больше привык к вкусняшке, но это не оправдание.

Теперь дела идут глупо. Большинство вещей работают, однако установка bugzilla не удалась. При загрузке bugzilla я получаю ошибку 500, и это записывается в error.log;

[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Can't locate Email/Address.pm in @INC (@INC contains: . /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl) at Bugzilla/Mailer.pm line 48.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla/Mailer.pm line 48.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at Bugzilla/Token.pm line 35.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla/Token.pm line 35.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at Bugzilla/Auth/Persist/Cookie.pm line 37.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla/Auth/Persist/Cookie.pm line 37.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at Bugzilla/Auth.pm line 37.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla/Auth.pm line 37.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at Bugzilla.pm line 31.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at Bugzilla.pm line 31.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Compilation failed in require at /var/www/bugzilla/index.cgi line 34.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] BEGIN failed--compilation aborted at /var/www/bugzilla/index.cgi line 34.
[Fri Jun 05 12:34:16 2009] [error] [client 172.20.0.160] Premature end of script headers: index.cgi

Кроме того, когда я запускаю checksetup.pl из Bugzilla, кажется, что он преждевременно завершается;

Checking user setup ...
Removing existing compiled templates ...
Precompiling templates ...
Not a subroutine reference at /usr/share/perl5/Bugzilla/Template.pm line 59.
Compilation failed in require at /usr/share/bugzilla/lib/checksetup.pl line 1291

Я переустановил и perl, и perl-base;

apt-get install --reinstall perl-base
apt-get install --reinstall perl

И успеха не имели.

Любая помощь будет принята с благодарностью.

Кроме того, этот сайт становится палочкой-выручалочкой для такого системного новичка, как я, и я очень благодарен за всю оказываемую мне помощь.

Христианин

Я вижу, что вы уже решили это с помощью оболочки CPAN, но было бы лучше установить с пакетами Debian, так у вас будет только одно место для проверки обновлений и т.д ... На самом деле, я готов поспорить, если вы если вы использовали пакет debian bugzilla, вы бы не столкнулись с этой проблемой.

apt-get install libemail-address-perl

Общий случай:

apt-cache search Email::Address 

Что дает вам такой вывод (но иногда более одного пакета):

libemail-address-perl - RFC 2822 Address Parsing and Creation

Затем вы можете при желании использовать это, чтобы убедиться, что пакет правильный:

apt-cache show libemail-address-perl

И, наконец, установка apt-get, с которой я начал.

Вместо использования более новой версии Bugzilla вы можете рассмотреть возможность (пере) установки Perl 5.8 в другой каталог. Не перезаписывайте ОС.

Раньше я на собственном горьком опыте научился хранить версию Perl для версии ОС и версию приложения в разных каталогах. Позвольте ОС управлять / выполнять требования к версии Perl и убедитесь, что вы соответствуете требованиям приложения в другом каталоге.

Попробуйте запустить apt-get -f install, это может исправить ваши неработающие пакеты.

Вы используете Perl 5.10 - вы пытаетесь установить старую версию Bugzilla, которая с ним не работает?

Используйте более новую версию Bugzilla (3.0.2 и выше) или посмотреть здесь для обходного пути.

  perl -MCPAN -e shell 
  install Email::Address

Может быть? Я не человек Perl ...