Libpng12 necessário para 17.10

Libpng12 necessário para 17.10

O editor de vídeo Resolve da Blackmagic Design, V14.0.1, requer libpng12. Infelizmente, apenas libpng16é fornecido com a nova versão 17.10.

Existe uma maneira de reverter para libpng12 abaixo de 17.10? Em caso afirmativo, como obtenho libpng12 - o synaptic não o lista quando procuro por ele.

Responder1

Pacotes Ubuntu paralibpng12-0para confiável (14.04LTS) e xenial (16.04LTS), mas não para 17.10. Você deve solicitar ao fabricante do software (ou seja, Blackmagic Design) para atualizar o programa e/ou o instalador para usar o arquivo libpng16-16.


Como solução alternativa, você pode baixar e instalar o .debpacote para Xenialda página do Ubuntuantes de instalar o editor de vídeo Resolve da Blackmagic Design.

  • Instalandolibpng12

    $ wget http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb
    $ sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb
    

OBSERVAÇÃO:Instalar pacotes de distribuições mais antigas pode danificar seu aptsistema de instalação.


É seguro instalar o libpng12pacote do Xenial (16.04LTS)?

Usar pacotes de distribuições mais antigas pode ser perigoso. Isso pode quebrar o aptsistema de instalação porque pacotes mais antigos podem introduzir dependências em pacotes não existentes ou substituir pacotes exigidos pelas novas versões. Tente usar pacotes e repositórios para a versão do Ubuntu que você está usando, ou seja, os repositórios oficiais do Ubuntu e repositórios PPA conhecidos (que testam seus pacotes).

Para verificar se a instalação do libpng12pode quebrar o apt, verifiqueias informações do pacote.

  • Depende e está incluído nas versões recentes do Ubuntu libpng12.libc6 (>= 2.14)zlib1g (>= 1:1.1.4)

    $ apt-cache policy libc6     # gives me 2.24-9ubuntu2.2
    $ apt-cache policy zlib1g    # gives me 1.2.11dfsg-0ubuntu1
    
  • Observe que nenhum outro pacote do Ubuntu requer uma versão recente libpng12porque não está incluído no repositório. Os programas mais recentes dependem libpng16-16e ambas as bibliotecas podem coexistir.

  • Eu acho que é muito improvável que este pacote quebre o apt.

Não tente instalar um pacote de uma distribuição mais antiga se não tiver certeza do que está fazendo.

Responder2

Em vez de usar o pacote binário, você pode compilar o libpng.

  • Se você tiver o código-fonte do programa que deseja instalar, poderá usar o código-fonte original. Depois de instalar a biblioteca, você poderá usá-la para configurar e compilar outros aplicativos.
  • Se você não possui o código fonte do programa, mas apenas um .debinstalador, por exemplo, se o programa for um produto comercial, você deverá instalar um pacote para evitar erros durante a instalação. Você pode criar o pacote a partir do código-fonte usando as instruções abaixo.

Compilando libpng a partir do código-fonte oficial

Observe quea antiga libpng v1.2.x pode ter muitas vulnerabilidades. Recomenda-se usar a versão 1.2.x mais recente dosourceforgeouGitHub. Isto é para a versão v.1.2.59.

  1. Instale os pacotes para compilar o software (se não estiverem instalados)

    $ sudo apt-get install build-essential
    
  2. Obtenha e extraia o código-fonte

    $ wget https://github.com/glennrp/libpng/archive/v1.2.59.tar.gz
    $ tar xvfz v1.2.59.tar.gz 
    
  3. Compilar e instalar a biblioteca

    $ cd libpng-1.2.59/
    $ ./configure
    $ make check
    $ sudo make install
    

OBSERVAÇÃO:A instalação da biblioteca não definirá a dependência libpng12conforme encontrado no apt. Você deve usar um .debpacote para instalá-lo e suportar a instalação de outros .debarquivos que dependem dele. Para criar o .debpacote correspondente, você pode usar as instruções a seguir.


Usando o código-fonte do pacote Ubuntu

o libpng12-0pacote corresponde a libpng 1.2.54. Ubuntu tem uma versão personalizada que eles nomearam1.2.54-1ubuntu1.

  1. Instale os pacotes para compilar software e criar pacotes Ubuntu (se não estiverem instalados)

    $ sudo apt-get install build-essential fakeroot dpkg-dev devscripts
    
  2. Baixe os arquivos de código-fonte usando o .dscarquivo da página

    $ dget -d http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng_1.2.54-1ubuntu1.dsc
    
  3. Extraia o código fonte aplicando o patch fornecido pelo Ubuntu

    $ dpkg-source -x libpng_1.2.54-1ubuntu1.dsc 
    
  4. Verifique as dependências do pacote

    $ cd libpng-1.2.54/
    $ dpkg-buildpackage -rfakeroot -b
    

    Mostra dependências de compilação não atendidas. No meu caso...

     :
    dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper (>= 8.1.3) libtool automake autoconf zlib1g-dev
    
  5. Instale as dependências

    $ sudo apt-get install debhelper libtool automake autoconf zlib1g-dev
    
  6. Compilar

    $ fakeroot debian/rules binary
    

    Os pacotes resultantes estarão localizados na pasta pai

    ../libpng12-0_1.2.54-1ubuntu1_amd64.deb
    ../libpng12-dev_1.2.54-1ubuntu1_amd64.deb
    ../libpng3_1.2.54-1ubuntu1_amd64.deb
    
  7. Use o pacote resultante

    $ cd ..
    $ sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb
    

OBSERVAÇÃO:Compilar e instalar pacotes para distribuições antigas é tão perigoso quantousando pacotes binários para distribuições antigas. O processo de compilação descrito para o libpng12pacote usa apenas pacotes nos repositórios do Ubuntu 17.x e não resulta em erros. Acho que usar o pacote resultante não quebrará o arquivo apt.

Responder3

Esta fonte funcionou para mim no Ubuntu 18:

sudo echo 'deb http://cz.archive.ubuntu.com/ubuntu trusty main universe' \ > /etc/apt/sources.list.d/extra.list
sudo apt update
sudo apt-get install libpng12-0
sudo rm /etc/apt/sources.list.d/extra.list

Encontreiaquiao tentar instalar drivers de impressora e parece estar funcionando.

Responder4

IMO, você está mais seguro compilando a partir do código-fonte do que usando pacotes antigos de repositórios antigos.

O melhor conselho que posso dar é enviar um relatório de bug à blackmagic, eles precisam atualizar suas dependências.

https://www.blackmagicdesign.com/support/

Para compilar, vá para o pacote ubuntu relevante para identificar o pacote e a fonte upstream

https://packages.ubuntu.com/xenial/libpng12-0

Então você quer "libpng_1.2.54.orig.tar.xz"

https://sourceforge.net/projects/libpng/files/libpng12/older-releases/1.2.54/

baixar, extrair, compilar, instalar (começando após o download e extraindo o tar ball).

cd libpng-1.2.54
./configure --prefix=/usr/local
make
sudo make install

Para remover novamente (se necessário)

#run within libpng-1.2.54 directory
sudo make uninstall

Entendo que parecem algumas etapas extras, mas é trivial baixar e compilar dessa forma e não há risco de quebrar o apt.

informação relacionada