[FUG-BR] [Resolvido] Re: Atualização do libpng

Paulo Olivier Cavalcanti procavalcanti em gmail.com
Quinta Junho 7 09:15:23 BRT 2012


Em Thu, 07 Jun 2012 08:34:06 -0300, Renato Botelho <rbgarga em gmail.com>  
escreveu:

> 2012/6/6 Paulo Olivier Cavalcanti <procavalcanti em gmail.com>:
>
> 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

Caro Renato,

Na verdade eu só havia lido o UPDATING, não cheguei a fazer nenhuma  
atualização dessa lib. Fiquei horrorizado em saber que precisaria  
recompilar o Chromium, LibreOffice, WebKit-GTK, que são ports gigantescas,  
só por causa de uma lib. Seguindo a sua dica eu usei o comando portmaster  
-wd graphics/png e tudo ficou bem. Agora posso compilar o Firefox sem  
sustos.

Obrigado!


-- 
http://about.me/paulocavalcanti


Mais detalhes sobre a lista de discussão freebsd