Biblioteca libpng12.so.0 não encontrada

Iniciado por lseixas, 04 de Fevereiro de 2017, 23:42

tópico anterior - próximo tópico

lseixas

Olá,

recentemente eu fiz o upgrade do sistema do Ubuntu 16.04 para o 16.10, e desde esse upgrade eu venho encontrando um problema com alguns softwares que usam a biblioteca libpng12.so.0.

Ao tentar abrir um desses programas, eu recebo a mensagem:

/home/lseixas/Codes/VESTA-x86_64/VESTA-gui: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

Na pasta /usr/lib/x86_64-linux-gnu eu tenho os arquivos

$ ls libpng*
libpng16.a  libpng16.so  libpng16.so.16  libpng16.so.16.25.0  libpng.a  libpng.so

Não há o arquivo libpng12.so.0.

Fazendo o sudo apt-get install libpng12-0, ele diz que a biblioteca libpng12-0:i386 está instalada, mas não instalar a verão 64 bits.

Como eu faço para resolver esse problema e instalar essa biblioteca que deu problema nesse último upgrade?

Obrigado,
Leandro Seixas.

druidaobelix

#1
Não encontra libpng12.so.0 porque o pacote libpng12-0 (1.2.54-1ubuntu1) PNG library - runtime é da versão 16.04.
Na versão 16.10 o pacote foi atualizado para libpng16-16 (versão 1.6.25-1).

O programa que está querendo instalar possivelmente ainda não foi atualizado para contemplar essa modificação e está pedindo a biblioteca anterior.

Não faz muito sentido (geralmente é um erro inadequado) o downgrade de versão do pacote, é melhor, em princípio, forçar a instalação do programa que quer instalar usando a versão nova da biblioteca (o que não quer dizer que vá funcionar, mas geralmente funciona).

Pode usar, por exemplo, o parâmetro --force-depends no dpkg

sudo dpkg -i --force-depends nome_pacotel.deb

(duplo hífen antes do --force-etc)

Qual é mais exatamente o programa que você está querendo instalar no Ubuntu 16.10?

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

druidaobelix

É ainda necessário entender o cenário de fundo por detrás dessas questões.

O Ubuntu 16.10 é uma versão transitória, experimental, "novidadeira", que serve justamente para fazer experiências, testar novos procedimentos e conceitos.
O que dá certo é aproveitado numa próxima versão LTS, o que não dá certo é descartado.

Exatamente por ser uma versão transitória a duração é de apenas 9 meses, encerra em julho/2017, embora na prática encerre antes, dura apenas 6 meses e deixa de ter atualizações a partir de abril/2017, quando entra uma nova versão, no caso a 17.04.

Assim sendo, muitos desenvolvedores de outros programas sequer se preocupam em atualizar seus pacotes para versões transitórias, não compensa o esforço ou não há disponibilidade. A preocupação é sempre com versões LTS (=suporte de longo prazo) e não com versões transitórias.

Espere, portanto, encontrar um número de problemas bastante aumentado nessas versões transitórias, principalmente não as tenha em ambiente de produção, servem apenas como experimentos, não para produção efetiva.

Na identificação numérica das versões os dois primeiros números referem-se ao ano, os dois últimos ao mês, assim, 16.04 é lançamento de abril de 2016, e então 16.10 é lançamento em outubro de 2016 e assim por diante. O terceiro e último número, quando existe, refere-se ao release.

Versões LTS são suportadas por 5 anos, versões  chamadas Regular (=Provisória; Transitórias) são suportadas por 9 meses.

Para entender melhor o calendário geral de validade e suporte de todas as versões

Ubuntu releases calendar

https://wiki.ubuntu.com/Releases

Complementarmente também esse:

https://wiki.ubuntu.com/LTS

Sempre que possível é melhor uma instalação "limpa" (=nova, clean) do que fazer a migração da 16.04 para a 16.10, por várias razões, como por exemplo não carregar erros de uma versão para outra, mas também por questões de limites de kernel.

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.