On 06/13/2013 09:54 AM, Edinilson - ATINET wrote:
> Caros amigos, gostaria de relatar um problema que tive aqui e saber se isto 
> só ocorre comigo...
> 
> Utilizo o FreeBSD desde a versao 3.xx. Não sou um super especialista em 
> FreeBSD como muitos aqui da lista, mas tambem não sou um iniciante.
> Desde que comecei a utiliza-lo que tenho um certo problema com o Perl.
> Sempre que atualizo algum software que depende do Perl, é uma novela (se 
> pesquisarem no historico da lista encontrarão varios casos que relato 
> problemas).
> O erro que normalmente ocorre são com os modulos (os .pm) que não sao 
> encontrados ou entao com algum arquivo .so que não é encontrado (mesmo 
> fazendo todos os procedimentos sempre descritos no /usr/ports/UPDATING ou 
> entao em sites da internet).
> 
> Numa determinada versão do Perl (que não me lembro agora qual), uma boa alma 
> resolveu fazer o script perl-after-upgrade que facilitou bastante as coisas, 
> e praticamente resolveu estes problemas de atualizações do Perl.
> 
> Pois bem, ontem resolvi atualizar o pacote do Quagga (coisa que faço 
> constantemente sem maiores problemas) e tive uma surpresa. Como utilizei o 
> portmaster, veio de "presente" uma atualização do Perl (no meu caso seria da 
> 5.14.2 para a 5.14.4).
> Quando vi que envolvia o Perl, já fui ler o /usr/ports/UPDATING pois sabia 
> que tinha surpresas e, LOGO NO INICIO (data 12/06/2013), já tinha um aviso 
> dizendo que o script perl-after-upgrade foi removido, e era para usar o 
> portmaster -r perl no lugar.
> 
> A atualização do Quagga foi tranquila *MAS*, a do Perl, COMO SEMPRE, me deu 
> uma dor-de-cabeça ENORME.
> Logo que terminou, já parou o apache, mrtg, smokeping e tudo o mais que 
> dependia do Perl com erro de includes não encontrados. Neste ponto, o Quagga 
> continuava funcionando.
> POREM, no que fui restartar o Quagga só para ter certeza que ele tambem 
> estava funcionando 100% (visto que ele utiliza Perl para algumas coisas, 
> vtysh por exemplo), veio a GRANDE surpresa: comecou a dar erro de libperl.so 
> não encontrado.
> Como é um servidor que roda BGP, nem preciso dizer a correria que foi visto 
> que o Quagga não startava e não subia a sessão BGP.
> 
> Resumindo: voces costumam ter estas dores-de-cabeça quando envolve atualizar 
> algo que mexa com o bendito PERL no FreeBSD?

Oi Edinilson,

Essa alteração que foi feita no port do perl, mudando o diretório pra
usar apenas major.minor ao invés de major.minor.patchlevel fez com que o
perl-after-upgrade não fosse mais necessário. Agora quando você
atualizar de 5.12.5 pra 5.12.6 o diretório onde todos os pm ficam
continuará sendo 5.12 apenas, então isso vai acabar facilitando os
próximos updates.

Quando você trocar de release do perl, de 5.12 pra 5.14 por exemplo, aí
tem que recompilar tudo mesmo, não tem jeito.

Mas vamos ao problema que ocorreu com você. Quando você atualizou o perl
usando "portmaster -r perl", o quagga foi recompilado? Se ele não foi
então podemos ter um problema do quagga usar o perl mas as dependências
não estarem corretas no port do quagga. Se for isso tem que reportar pro
mantenedor do port.

Agora, se o quagga foi recompilado, não deveria ocorrer o problema.

Você chegou a rodar um ldd no binário que é linkado com a lib do perl
pra ver se ele estava apontando pra uma lib que não existe mais?

E no final o que vc fez? Apenas recompilou o quagga e tudo voltou a
funcionar?

Acredito que daqui pra frente os problemas serão mitigados por esse
último commit como comentei acima, só fica esperto e se planeja pra
recompilar tudo quando você for trocar de série de perl.

Com a pkgng essas coisas todas tendem a ficarem mais simples e mais
automáticas. Se você tiver chance, começa a usá-lo.

[]s
-- 
Renato Botelho
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

Responder a