Desinstale o Perl 5.10 e instale 5.8 no Ubuntu 10.04

1

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.

user48848
fonte
Esta questão aqui também ubuntuforums.org/showthread.php?p=9823649
subanki
11
O Perl 5.10 introduziu muitos novos recursos no PERL. Provavelmente vale a pena atualizar seus módulos para poder trabalhar com ele em vez de fazer o downgrade para uma versão anterior.
terdon 21/09/12

Respostas:

1

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.

Kindjal
fonte
1

Sim - você precisa atualizar todos os módulos perl ao alterar a versão base do perl.

apt-get install perl-cgi

e assim por diante até acertar.

ZaB
fonte
0

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):

  • Adicione uma linha com "hardy" em vez de cármico ao seu /etc/apt/sources/list(a linha cármica ainda permanece lá)
  • aptitude install perl -t hardy deve instalar a versão perl do hardy
Alex
fonte