Atualização quebrada do debian, causando problemas de perl

3

Então eu fiz um upgrade do debian, tanto upgrade quanto dist-upgrade. Eu estou mais acostumado a yum, mas isso não é desculpa.

Agora as coisas estão sendo bobas. A maioria das coisas funciona, no entanto, a minha instalação do bugzilla falha. Ao carregar o bugzilla, recebo um erro 500 e isso é registrado no 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

Além disso, quando executo o checksetup.pl do Bugzilla, parece terminar prematuramente;

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

Eu reinstalei perl e perl-base;

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

E não tiveram sucesso.

Qualquer ajuda seria muito apreciada.

Além disso, este site está se tornando um salva-vidas para um sistema noob como eu e estou realmente agradecido por toda a ajuda que recebo.

Christian

    
por Christian 05.06.2009 / 04:41

5 respostas

7

Eu vejo que você já resolveu isso com o shell CPAN, mas seria melhor instalar com pacotes Debian, assim você tem apenas um lugar para verificar atualizações, etc ... Na verdade, eu aposto se você usou o pacote debian bugzilla em primeiro lugar, você não teria este problema em primeiro lugar.

apt-get install libemail-address-perl

O caso geral:

apt-cache search Email::Address 

Que lhe dá saída como (mas às vezes mais de um pacote):

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

Em seguida, você pode usar isso opcionalmente para verificar se o pacote é o correto:

apt-cache show libemail-address-perl

E finalmente a instalação do apt-get com a qual eu comecei.

    
por 05.06.2009 / 05:18
2

Em vez de usar uma versão mais nova do Bugzilla, você pode considerar (re) instalar o Perl 5.8 em um diretório diferente. Não sobrescreva o sistema operacional.

No passado, aprendi da maneira mais difícil manter a versão do SO e a versão do aplicativo Perl em diretórios separados. Deixe o sistema operacional gerenciar / preencher os requisitos de versão do Perl e verifique se você atende aos requisitos do aplicativo em um diretório diferente.

    
por 05.06.2009 / 06:45
1
  perl -MCPAN -e shell 
  install Email::Address

Talvez? Eu não sou perl pessoa ...

    
por 05.06.2009 / 04:56
1

Você está usando o Perl 5.10 - você está tentando instalar uma versão antiga do Bugzilla que não funciona com ele?

Use um Bugzilla mais recente ( 3.0.2 e acima) ou veja aqui para uma solução alternativa.

    
por 05.06.2009 / 04:59
1

Tente executar o apt-get -f install, ele pode consertar seus pacotes quebrados.

    
por 05.06.2009 / 08:53