Eu estava usando o Ubuntu 8.04 com o Perl 5.8.8 instalado. Eu instalei o Bugzilla 3.4.4 com alguns scripts personalizados e estava funcionando bem. Eu tive que atualizar o Ubuntu de 8.04 para 10.04 e automaticamente o Perl também é atualizado do Perl 5.8 para 5.10. Agora, acessar o Bugzilla exibe uma mensagem de erro relacionada ao módulo Perl. Ao tentar executar checksetup.pl
, estou recebendo a seguinte mensagem de erro:
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
Acessando o Bugzilla lança: "500 Internal Server Error".
Eu explorei esse problema e descobri que esse problema surgiu porque a atualização do Ubuntu atualiza o Perl 5.8 para 5.10 automaticamente. Parece que o Perl 5.10.1 não é binário compatível com o anterior.
Agora, quero desinstalar o Perl 5.10.1 e instalar o Perl 5.8.8 na minha caixa do Ubuntu 10.04. Aprecio se alguém já fez isso ou compartilha as etapas / comandos necessários para fazê-lo.
fonte
Respostas:
Talvez você possa resolver o problema desviando-se de
apt
. Mantenha o perl da distribuição do sistema operacional como está e use o perlbrew para instalar versões alternativas do perl em outro local, digamos em/opt/perl
.Em seguida, use invólucros de casca e tal para acionar o perlbrew para a seleção do perl apropriado no momento apropriado.
fonte
Sim - você precisa atualizar todos os módulos perl ao alterar a versão base do perl.
e assim por diante até acertar.
fonte
Em geral, o sistema de empacotamento do APT que você usa suporta a mistura de versões de diferentes distribuições, mas isso também pode atrapalhar bastante.
Se você pode arriscar destruir seu sistema, tente o seguinte (não testado):
/etc/apt/sources/list
(a linha cármica ainda permanece lá)aptitude install perl -t hardy
deve instalar a versão perl do hardyfonte