Libpng12 necessário para 17,10

5

O editor de vídeo Resolve do Blackmagic Design, V14.0.1, requer libpng1 2 . Infelizmente, apenas a libpng1 6 é fornecida com a nova versão 17.10.

Existe uma maneira de reverter para libpng12 em 17.10? Se sim, como faço para obter libpng12 - o synaptic não o lista quando eu procuro por ele.

    
por Richard Emerson 20.10.2017 / 15:07

4 respostas

8

Existem pacotes do Ubuntu para libpng12-0 para trusty (14.04LTS) e xenial (16.04LTS ), mas não para 17.10. Você deve solicitar ao fabricante do software (por exemplo, Blackmagic Design) para atualizar o programa e / ou o instalador para usar o mais recente libpng16-16 .

Como solução alternativa, você pode baixar e instalar o pacote .deb para o Xenial na página do Ubuntu. antes de instalar o editor de vídeo Resolver do Blackmagic Design.

  • Instalando libpng12

    $ 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
    
  

NOTA: A instalação de pacotes de distribuições mais antigas pode quebrar o sistema de instalação apt .

É seguro instalar o pacote libpng12 do Xenial (16.04LTS)?

Usar pacotes de distribuições antigas pode ser perigoso. Pode quebrar o sistema de instalação apt porque pacotes mais antigos podem introduzir dependências para pacotes não existentes ou substituir pacotes que as novas versões requerem. 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 de libpng12 pode quebrar o apt , verifiquei as as informações do pacote .

  • O libpng12 depende do libc6 (>= 2.14) e do zlib1g (>= 1:1.1.4) incluídos nas versões recentes do Ubuntu.

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

  • Acho muito improvável que esse pacote quebre o apt .

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

    
por Jaime 20.10.2017 / 15:26
2

Em vez de usar o pacote binário, você pode compilar 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ê pode usá-la para configurar e compilar outros aplicativos.
  • Se você não tiver o código-fonte do programa, mas somente um instalador .deb , 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 a libpng do código-fonte oficial

Note que a antiga libpng v1.2.x pode ter muitas vulnerabilidades . Recomenda-se usar a versão 1.2.x mais recente de sourceforge ou github . Isto é para a versão v.1.2.59.

  1. Instale os pacotes para compilar o software (se eles 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. Compile e instale 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 como libpng12 conforme atendida em apt . Você deve usar um pacote .deb para instalá-lo e suportar a instalação de outros arquivos .deb que dependem dele. Para criar o pacote .deb correspondente, você pode usar as seguintes instruções.

Usando o código-fonte do pacote do Ubuntu

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

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

    $ sudo apt-get install build-essential fakeroot dpkg-dev devscripts
    
  2. Baixe os arquivos do código-fonte usando o arquivo .dsc 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
    

    Ele mostra dependências de construçã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. Compile

    $ 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
    
  

NOTA: A compilação e instalação de pacotes para distribuições antigas é tão perigosa quanto usando pacotes binários para distribuições antigas . O processo de compilação descrito para o pacote libpng12 usa apenas pacotes nos repositórios do Ubuntu 17.xe não resulta em erros. Eu acho que usar o pacote resultante não irá quebrar o apt .

    
por Jaime 20.10.2017 / 18:08
0

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 com o blackmagic, eles precisam atualizar suas dependências.

link

Para compilar, acesse o pacote ubuntu relevante para identificar o pacote e a origem do envio

link

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

link

faça o download, extraia, compile, instale (iniciando após o download e extraindo a bola tar).

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

Eu entendo que parece mais alguns passos extras, mas é trivial fazer o download e compilar dessa maneira e não há risco de quebrar o apt.

    
por Panther 20.10.2017 / 17:42
0

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

Encontrado aqui ao tentar instalar drivers de impressora e parece estar funcionando.

    
por GeoKwi 10.08.2018 / 14:32