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!!









9 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
  3. Aqui não da certo, sempre que tento instalar esse lib da esse erro, alguma solução?

    (Lendo banco de dados ... 345702 ficheiros e directórios actualmente instalados.)
    A preparar para desempacotar .../libpng12-0_1.2.50-2+deb8u3_i386.deb ...
    A descompactar libpng12-0:i386 (1.2.50-2+deb8u3) ...
    dpkg: erro ao processar o arquivo /tmp/mozilla_kaira0/libpng12-0_1.2.50-2+deb8u3_i386.deb (--install):
    impossível instalar nova versão de '/usr/lib/i386-linux-gnu/libpng12.so.0': Arquivo ou diretório inexistente
    Erros foram encontrados durante o processamento de:
    /tmp/mozilla_kaira0/libpng12-0_1.2.50-2+deb8u3_i386.deb

    ResponderExcluir
    Respostas
    1. Se o seu sistema é de arquitetura amd64 não use o pacote i386

      Excluir
    2. Eu resolvi aqui ja, burrice minha >< eu tava tentando só com o pacote do 8, com o do 7 deu certo, meu debian é 64 bits mas tem programas que só existem em 32 bits, como por exemplo o emulador de ps1 que eu uso, então eu uso pacotes tanto de 64 como de 32 bits, e esse lib que eu precisava tinha que ser de 32.

      Excluir
  4. olla o meu da esse erro impossível instalar nova versão de '/usr/lib/x86_64-linux-gnu/libpng12.so.0': Arquivo ou diretório inexistente oque sera que causa

    ResponderExcluir
    Respostas
    1. Provavelmente está usando i386, se for adapte a ela.

      Excluir

Prof. Ademir Dorneles - Servidores Linux

Prof. Ademir Dorneles - Servidores Linux