Menu

quarta-feira, 24 de julho de 2019

Erro de dependência libpng12 no Debian Buster

Se você está tentando instalar pacotes .deb de terceiros como Epson, certificado digital Safesign e está tendo problema de dependência com a libpng12, confira nessa matéria como contornar o problema.






De quem é o problema ?


Essa é uma resposta obvia,mas não custa esclarecer. O problema no caso de pacotes de terceiros é unica e exclusiva dos mantenedores desses pacotes, quando um pacote tem dependências muito antigas isso quer dizer que seus desenvolvedores não tem muita competência e nesse caso o uso de pacotes desse tipo de desenvolvedor é por total conta e risco seu.

Sistema operacional nenhum tem que se adaptar a um software, os desenvolvedores do software tem obrigação de adaptar o seu software aos sistemas operacionais que querem o seu software funcionando, quando não o fazem você deve tomar cuidado com esses desenvolvedores.




Erro de dependência libpng12



Os problemas com essa lib são:

1º- A libpeng12 não está nos repositórios do Debian Buster.

2º- Os pacotes .deb que a pedem o fazem especificando uma versão, exemplos:

libpng12-0_1.2.50-2+deb8u3

libpng12-0_1.2.49-1%2Bdeb7u2




Solução



Note o que marquei em negrito, essa é a versão do Debian que a libe pertence, portanto é do repositório da versão Debian que você deve fazer o download da libpng12 correta.


Antes de fazer o download da lib correta remova as instaladas em seu sistema com o comando abaixo.

sudo apt remove --purge libpng12-0*
Instale o suporte a multiarch.

sudo apt install multiarch-support

Atualmente as versões pedidas são as mencionadas acima, uma dos repositórios do Debian 7 e a outra do Debian 8.

Abaixo os links para o download das libs, faça o download da versão e arquitetura pedida pelo seu .deb.






Feito o download instale a lib com o dpkg.

Exemplo:

sudo dpkg -i /endereço/do/download/libpng12*.deb

Supondo que fez do download na sua pasta de download o comando seria assim.

sudo dpkg -i ~/Downloads/libpng12*.deb
Ou simplesmente instale dando duplo click no .deb que fez o download.

Agora o mais importante, marque a lib para que não seja atualizada pelo apt upgrade.

apt-mark hold libpng12-0
Pronto, agora vc pode tentar novamente instalar o pacote .deb que pedia essa dependência, ela já foi instalada em seu sistema.


Eu estou te ajudando? Faça uma doação!!














4 comentários:

  1. Excelente trabalho, irmão! Posso dizer que você salvou meu dia com essa excelente matéria. Eu não estava conseguindo instalar a "libpng12" no Debian.

    Eu estava precisando dessa lib para poder usar o programa SP Flash Tool. Enfim, depois que segui seu tutorial, meu problema foi resolvido; agora estou conseguindo usar o programa normalmente.

    Obrigado pela ajuda :)
    Abraço!

    ResponderExcluir
  2. Boa noite amigo, estava desde ontem tentando instalar o libpng12 no meu Deepin para rodar o packet tracer e nada, tentei hoje e nada, dai achei sua pagina do nada, resolvi meu problema, o packet já esta abrindo, só preciso tirar o login que esta pedindo hahaha muito obrigado, sucesso!

    ResponderExcluir