Libpng12 wird für 17.10 benötigt

Libpng12 wird für 17.10 benötigt

Der Resolve-Videoeditor V14.0.1 von Blackmagic Design erfordert libpng12. Leider nur libpng16wird mit der neuen Version 17.10 bereitgestellt.

Gibt es eine Möglichkeit, unter 17.10 zu libpng12 zurückzukehren? Wenn ja, wie bekomme ich libpng12? Synaptic listet es nicht auf, wenn ich danach suche.

Antwort1

Es gibtUbuntu-Pakete fürlibpng12-0für Trusty (14.04LTS) und Xenial (16.04LTS), aber nicht für 17.10. Sie müssen den Softwarehersteller (z. B. Blackmagic Design) bitten, das Programm und/oder das Installationsprogramm zu aktualisieren, um die neueste Version zu verwenden libpng16-16.


Als Workaround können Sie das .debPaket für Xenial herunterladen und installierenvon der Ubuntu-Webseitebevor Sie den Resolve-Video-Editor von Blackmagic Design installieren.

  • Installierenlibpng12

    $ 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
    

NOTIZ:Durch die Installation von Paketen aus älteren Distributionen kann Ihr aptInstallationssystem beschädigt werden.


libpng12Ist es sicher, das Paket von Xenial (16.04LTS) zu installieren ?

Die Verwendung von Paketen aus älteren Distributionen kann gefährlich sein. Das Installationssystem kann dadurch beschädigt werden, aptda ältere Pakete Abhängigkeiten zu nicht vorhandenen Paketen einführen oder Pakete ersetzen können, die die neuen Versionen benötigen. Versuchen Sie, Pakete und Repositories für die von Ihnen verwendete Ubuntu-Version zu verwenden, d. h. die offiziellen Ubuntu-Repositories und bekannte PPA-Repositories (die ihre Pakete testen).

Um zu prüfen, ob die Installation von libpng12das beschädigen kann apt, habe ich geprüftdie Paketinformationen.

  • Die libpng12Abhängigkeiten von libc6 (>= 2.14)und zlib1g (>= 1:1.1.4)sind in den aktuellen Ubuntu-Versionen enthalten.

    $ apt-cache policy libc6     # gives me 2.24-9ubuntu2.2
    $ apt-cache policy zlib1g    # gives me 1.2.11dfsg-0ubuntu1
    
  • Beachten Sie, dass kein anderes Ubuntu-Paket eine aktuelle Version von erfordert, libpng12da diese nicht im Repository enthalten ist. Die aktuellsten Programme hängen von ab libpng16-16und beide Bibliotheken können nebeneinander bestehen.

  • Ich halte es für sehr unwahrscheinlich, dass dieses Paket das kaputt macht apt.

Versuchen Sie nicht, ein Paket einer älteren Distribution zu installieren, wenn Sie nicht sicher sind, was Sie tun.

Antwort2

Anstatt das Binärpaket zu verwenden, können Sie kompilieren libpng.

  • Wenn Sie den Quellcode des Programms haben, das Sie installieren möchten, können Sie den ursprünglichen Quellcode verwenden. Nach der Installation der Bibliothek können Sie damit andere Anwendungen konfigurieren und kompilieren.
  • Wenn Sie nicht den Quellcode des Programms, sondern nur ein .debInstallationsprogramm haben, z. B. wenn es sich bei dem Programm um ein kommerzielles Produkt handelt, müssen Sie ein Paket installieren, um Fehler während der Installation zu vermeiden. Sie können das Paket anhand der folgenden Anweisungen aus dem Quellcode erstellen.

Kompilieren von libpng aus dem offiziellen Quellcode

Beachten Sie, dassDie alte libpng v1.2.x kann viele Schwachstellen aufweisen. Es wird empfohlen, die neueste Version 1.2.x vonQuelleschmiedeodergithub. Dies ist für die Version v.1.2.59.

  1. Installieren Sie die Pakete zum Kompilieren der Software (sofern sie nicht installiert sind)

    $ sudo apt-get install build-essential
    
  2. Besorgen und Extrahieren des Quellcodes

    $ wget https://github.com/glennrp/libpng/archive/v1.2.59.tar.gz
    $ tar xvfz v1.2.59.tar.gz 
    
  3. Kompilieren und Installieren der Bibliothek

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

NOTIZ:Durch die Installation der Bibliothek wird die Abhängigkeit nicht libpng12wie in festgelegt festgelegt apt. Sie müssen ein .debPaket verwenden, um sie zu installieren und die Installation anderer .debdavon abhängiger Dateien zu unterstützen. Um das entsprechende .debPaket zu erstellen, können Sie die folgenden Anweisungen verwenden.


Verwenden des Quellcodes des Ubuntu-Pakets

das libpng12-0Paket entspricht libpng 1.2.54. Ubuntu hat eine angepasste Version namens1.2.54-1ubuntu1.

  1. Installieren Sie die Pakete zum Kompilieren von Software und Erstellen von Ubuntu-Paketen (sofern sie nicht installiert sind).

    $ sudo apt-get install build-essential fakeroot dpkg-dev devscripts
    
  2. Laden Sie Quellcodedateien mithilfe der .dscDatei von der Seite herunter

    $ dget -d http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng_1.2.54-1ubuntu1.dsc
    
  3. Extrahieren Sie den Quellcode und wenden Sie den von Ubuntu bereitgestellten Patch an

    $ dpkg-source -x libpng_1.2.54-1ubuntu1.dsc 
    
  4. Überprüfen Sie die Abhängigkeiten für das Paket

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

    Es zeigt nicht erfüllte Build-Abhängigkeiten. In meinem Fall ...

     :
    dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper (>= 8.1.3) libtool automake autoconf zlib1g-dev
    
  5. Installieren der Abhängigkeiten

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

    $ fakeroot debian/rules binary
    

    Die resultierenden Pakete befinden sich im übergeordneten Ordner

    ../libpng12-0_1.2.54-1ubuntu1_amd64.deb
    ../libpng12-dev_1.2.54-1ubuntu1_amd64.deb
    ../libpng3_1.2.54-1ubuntu1_amd64.deb
    
  7. Verwenden Sie das resultierende Paket

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

NOTIZ:Das Kompilieren und Installieren von Paketen für alte Distributionen ist genauso gefährlich wieVerwendung von Binärpaketen für alte Distributionen. Der beschriebene Kompilierungsprozess für das libpng12Paket verwendet nur Pakete in den Ubuntu 17.x-Repositories und führt zu keinen Fehlern. Ich denke, dass die Verwendung des resultierenden Pakets nicht zu Problemen führt apt.

Antwort3

Diese Quelle hat bei mir unter Ubuntu 18 funktioniert:

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

Fand esHierbeim Versuch, Druckertreiber zu installieren, und es scheint zu funktionieren.

Antwort4

Meiner Meinung nach ist das Kompilieren aus dem Quellcode sicherer als die Verwendung alter Pakete aus alten Repositories.

Der beste Rat, den ich Ihnen geben kann, ist, einen Fehlerbericht bei Blackmagic einzureichen. Sie müssen ihre Abhängigkeiten aktualisieren.

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

Gehen Sie zum Kompilieren zum entsprechenden Ubuntu-Paket, um das Paket und die Upstream-Quelle zu identifizieren

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

Sie möchten also "libpng_1.2.54.orig.tar.xz"

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

herunterladen, extrahieren, kompilieren, installieren (beginnt nach dem Herunterladen und Extrahieren des Tarballs).

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

Zum erneuten Entfernen (falls erforderlich)

#run within libpng-1.2.54 directory
sudo make uninstall

Ich verstehe, dass es so aussieht, als wären das ein paar zusätzliche Schritte, aber das Herunterladen und Kompilieren ist auf diese Weise ganz einfach und es besteht keine Gefahr, dass Apt beschädigt wird.

verwandte Informationen