web-dev-qa-db-fra.com

Libpng12 nécessaire pour 17h10

L'éditeur vidéo de Blackmagic Design, V14.0.1, requiert libpng1 2. Malheureusement, seule la version 17.10 de libpng1 6 est fournie.

Est-il possible de revenir à libpng12 sous 17.10? Si oui, comment puis-je obtenir libpng12 - synaptic ne le répertorie pas lorsque je le recherche.

10
Richard Emerson

Il existe paquets Ubuntu pour libpng12-0 pour trusty (14.04LTS) et xenial (16.04LTS), mais pas pour 17.10. Vous devez demander au fabricant du logiciel (Blackmagic Design) de mettre à jour le programme et/ou le programme d’installation pour utiliser le libpng16-16 le plus récent.


Pour contourner le problème, vous pouvez télécharger et installer le package .deb pour Xenial à partir de la page Web Ubunt avant d'installer l'éditeur de vidéos Resolve de Blackmagic Design.

  • Installation de 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
    

REMARQUE: L'installation de paquetages à partir de distributions plus anciennes risque d'endommager votre système d'installation apt.


Est-il prudent d’installer le package libpng12 depuis Xenial (16.04LTS)?

Utiliser des paquets de distributions plus anciennes peut être dangereux. Cela peut endommager le système d'installation apt car des packages plus anciens peuvent introduire des dépendances vers des packages non existants ou remplacer les packages requis par les nouvelles versions. Essayez d’utiliser des packages et des référentiels pour la version Ubuntu que vous utilisez, c’est-à-dire les référentiels officiels Ubuntu et les référentiels PPA connus (qui testent leurs packages).

Pour vérifier si l'installation de libpng12 peut casser le apt, j'ai vérifié les informations sur le paquet .

  • Le libpng12 dépend de libc6 (>= 2.14) et de zlib1g (>= 1:1.1.4) qui sont inclus dans les versions récentes d’Ubuntu.

    $ apt-cache policy libc6     # gives me 2.24-9ubuntu2.2
    $ apt-cache policy zlib1g    # gives me 1.2.11dfsg-0ubuntu1
    
  • Notez qu'aucun autre package Ubuntu ne nécessite une version récente de libpng12 car celle-ci n'est pas incluse dans le référentiel. Les programmes les plus récents dépendent de libpng16-16 et les deux bibliothèques peuvent coexister.

  • Je pense qu'il est très peu probable que ce paquetage casse le apt.

N'essayez pas d'installer un paquet d'une distribution plus ancienne si vous n'êtes pas sûr de ce que vous faites.

14
Jaime

Au lieu d'utiliser le paquet binaire, vous pouvez compiler libpngname__.

  • Si vous avez le code source du programme que vous souhaitez installer, vous pouvez utiliser le code source d'origine. Après avoir installé la bibliothèque, vous pouvez l’utiliser pour configurer et compiler d’autres applications.
  • Si vous ne possédez pas le code source du programme mais uniquement un programme d'installation .deb, par exemple si le programme est un produit commercial, vous devez installer un package pour éviter les erreurs lors de l'installation. Vous pouvez créer le package à partir du code source en suivant les instructions ci-dessous.

Compiler libpng à partir du code source officiel

Notez que ancienne libpng v1.2.x peut comporter de nombreuses vulnérabilités . Il est recommandé d'utiliser la version 1.2.x la plus récente de sourceforge ou github . Ceci est pour la version v.1.2.59.

  1. Installez les packages pour compiler le logiciel (s'ils ne sont pas installés)

    $ Sudo apt-get install build-essential
    
  2. Obtenir et extraire le code source

    $ wget https://github.com/glennrp/libpng/archive/v1.2.59.tar.gz
    $ tar xvfz v1.2.59.tar.gz 
    
  3. Compiler et installer la bibliothèque

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

REMARQUE: L'installation de la bibliothèque ne définira pas la dépendance sur libpng12 telle que définie dans aptname__. Vous devez utiliser un package .deb pour l'installer et prendre en charge l'installation d'autres fichiers .deb qui en dépendent. Pour créer le package .deb correspondant, vous pouvez utiliser les instructions suivantes.


Utilisation du code source du paquet Ubuntu

le package libpng12-0 correspond à libpng 1.2.54. Ubuntu a une version personnalisée qu'ils ont nommée 1.2.54-1ubuntu1 .

  1. Installer les packages pour compiler le logiciel et créer des packages Ubuntu (s'ils ne sont pas installés)

    $ Sudo apt-get install build-essential fakeroot dpkg-dev devscripts
    
  2. Téléchargez les fichiers de code source en utilisant le fichier .dsc à partir de la page

    $ dget -d http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng_1.2.54-1ubuntu1.dsc
    
  3. Extrayez le code source en appliquant le correctif fourni par Ubuntu

    $ dpkg-source -x libpng_1.2.54-1ubuntu1.dsc 
    
  4. Vérifiez les dépendances du paquet

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

    Il montre les dépendances de construction non satisfaites. Dans mon cas...

     :
    dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper (>= 8.1.3) libtool automake autoconf zlib1g-dev
    
  5. Installer les dépendances

    $ Sudo apt-get install debhelper libtool automake autoconf zlib1g-dev
    
  6. Compiler

    $ fakeroot debian/rules binary
    

    Les packages résultants seront situés dans le dossier parent

    ../libpng12-0_1.2.54-1ubuntu1_AMD64.deb
    ../libpng12-dev_1.2.54-1ubuntu1_AMD64.deb
    ../libpng3_1.2.54-1ubuntu1_AMD64.deb
    
  7. Utilisez le paquet résultant

    $ cd ..
    $ Sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_AMD64.deb
    

REMARQUE: Compiler et installer des packages pour les anciennes distributions est aussi dangereux que tiliser des packages binaires pour les anciennes distributions . Le processus de compilation décrit pour le paquet libpng12 utilise uniquement les paquetages des référentiels Ubuntu 17.x et ne provoque pas d’erreurs. Je pense que l'utilisation du paquet résultant ne cassera pas le aptname__.

4
Jaime

IMO, vous êtes plus en sécurité lors de la compilation à partir des sources que lorsque vous utilisez d'anciens paquets provenant d'anciens référentiels.

Le meilleur conseil que je puisse vous donner est de déposer un rapport de bogue avec blackmagic, ils doivent mettre à jour leurs dépendances.

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

Pour compiler, allez dans le paquet ubuntu approprié pour identifier le paquet et la source en amont

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

Donc, vous voulez "libpng_1.2.54.orig.tar.xz"

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

télécharger, extraire, compiler, installer (en commençant après le téléchargement et en extrayant la boule de tar).

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

Supprimer à nouveau (si nécessaire)

#run within libpng-1.2.54 directory
Sudo make uninstall

Je comprends que cela ressemble à quelques étapes supplémentaires, mais il est facile de télécharger et de compiler de cette manière et il n’ya aucun risque de rupture.

0
Panther

Cette source a fonctionné pour moi sur 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

Je l'ai trouvé ici en essayant d'installer des pilotes d'imprimante et cela semble fonctionner.

0
GeoKwi