Debian 升級失敗,導致 Perl 問題

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

另外,當我從 Bugzilla 運行 checksetup.pl 時,它似乎提前結束了;

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

並且沒有取得成功。

任何幫助將不勝感激。

另外,這個網站正在成為像我這樣的系統菜鳥的救星,我真的很感謝我所得到的所有幫助。

基督教

答案1

我發現您已經使用 CPAN shell 解決了這個問題,但最好使用 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 install。

答案2

您可以考慮將 Perl 5.8 安裝(重新)到其他目錄,而不是使用較新版本的 Bugzilla。不要覆蓋作業系統。

在過去,我學會了將 Perl 的作業系統版本和應用程式版本保存在不同目錄中的艱難方法。讓作業系統管理/滿足其 Perl 版本要求,並確保滿足不同目錄中應用程式的要求。

答案3

  perl -MCPAN -e shell 
  install Email::Address

或許?我不是perl人...

答案4

嘗試執行 apt-get -f install,它可能會修復損壞的軟體包。

相關內容