
Eu precisava executar o libpng
utilitário Ubuntu convert
e, quando o fiz, recebi uma mensagem de erro informando que minha versão libpng
estava desatualizada e precisava ser atualizada. Então, segui o caminho usual apt-get install
, mas por motivos que não me lembro mais, isso não resolveu o problema. Foi aqui que as coisas ficaram complicadas.
Baixei o código-fonte para libpng
, fiz um make e uma instalação do make. Embora uma biblioteca compartilhável tenha sido criada no /usr/local/lib
, converta agora os relatórios:
convert: error while loading shared libraries: libpng.so.2: cannot open shared object file: No such file or directory
Seguindo o conselho de uma pessoa prestativa em outro lugar no StackExchange, tentei apt-get install
novamente, tentando obter e instalar os pacotes libpng12-dev
e libpng12-0
. No entanto, ambas as tentativas geraram as mensagens
libpng12-dev is already the newest version
libpng12-0 is already the newest version
... e então nada foi instalado. Provavelmente minhas tentativas desajeitadas de encontrar a fonte estragaram tudo. Existe alguma maneira de limpar as coisas? Por exemplo, instalar uma versão mais antiga do libpng e depois instalar a versão mais recente?
Mais tarde:
Por sugestão de dogbert, consultei o artigo emhttps://www.debian-administration.org/article/176/Reinstalling_packages_to_fix_problemse descobri que poderia forçar a exclusão de um pacote sem eliminar também todos os pacotes dependentes:
dpkg --purge --force-depends libpng12-0
Então, eu fiz isso e reinstalei o libpng12-0
. No entanto, convert
ainda relata o mesmo erro. Ok, talvez eu precise reinstalar, convert
pois possivelmente a libpng12-0
biblioteca não está onde deveria estar. convert
faz parte do imagemagick
, então eu o desinstalei. No entanto, convert
ainda estava disponível na linha de comando, portanto, a desinstalação imagemagick
não o elimina. Reinstalado imagemagick
. Mesmos resultados: convert
ainda reclama que não consegue encontrar arquivos libpng.so.2
.
Pesquisei todo o disco rígido e descobri que não libpng.so*
existe nenhum arquivo em lugar nenhum. Aparentemente, a instalação do pacote não está criando o arquivo necessário.
Responder1
libpng.so.2 deveria ser a biblioteca compartilhada para libpng-1.0.x (a versão atual é 1.0.63). Você tem o "convert" (parte do imagemagick) que aparentemente foi construído com libpng-1.0.x, então você precisa remover e reinstalar o imagemagick via apt-get. Quando isso estiver funcionando, você pode tentar instalar novamente uma versão mais recente do imagemagick, em imagemagick.org, que deve funcionar bem com libpng12.