[FUG-BR] Atualização do libpng

Renato Botelho rbgarga em gmail.com
Quinta Junho 7 08:34:06 BRT 2012


2012/6/6 Paulo Olivier Cavalcanti <procavalcanti at gmail.com>:
> Fala galera!
>
> Faz cerca de 1 mês que não atualizo meus ports, e com a chegada do Firefox
> 13 resolvi colocar tudo em dia. Só que ao ler o UPDATING vi que a nova
> versão do libpng requer que todas as suas dependências sejam recompiladas.
> É isso mesmo? Praticamente todas as ports dependem dele. Aqui vai demorar
> uns três dias! Será que compilando apenas o libpng dá confusão?
>
> Senão eu fico como está, tá louco recompilar mais de 500 ports só por
> causa de uma simples lib.

Bom dia Paulo,

O que acontece é bem simples, a versão anterior do png, instalou a lib
libpng.so.6. Na nova versão, a lib mudou pra libpng15.so.15.

Quem mudou isso foi o author da libpng, isso não tem nada a ver com
o ports.

Como os seus binários estão linkados com libpng.so.6, eles vão quebrar
se essa lib sumir, eles não vão achar a libpng15.so.15. E mesmo se eles
achassem (se vc criasse um symlink), provavelmente coisas bizarras
iriam acontecer, pois quando os desenvolvedores mudam a versão de
uma lib significa que a API ou ABI foi alterada.

Agora, existe um meio termo nesse caso, oferecido pelo portmaster.
Se você ler o man do portmaster, vai ver que existe uma opção -w,
essa opção salva uma cópia das libs em outro lugar, que deve estar
configurado pra ser reconhecido pelo ldconfig.

Então, se você usar:

portmaster -w png

Ele vai atualizar o png, instalar a lib .15 no /usr/local/lib, mover a lib
libpng.so.6 pra um outro diretório. Assim seus binários continuarão
a usar a lib antiga e você ganha tempo pra ir recompilando todos os
ports.

Se você quiser evitar de quebrar seu sistema, pode colocar a opção
equivalente ao -w no portmaster.rc, e assim ele sempre salvará uma
cópia das libs.

[]s
-- 
Renato Botelho


Mais detalhes sobre a lista de discussão freebsd