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-0
fü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 .deb
Paket für Xenial herunterladen und installierenvon der Ubuntu-Webseitebevor Sie den Resolve-Video-Editor von Blackmagic Design installieren.
Installieren
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
NOTIZ:Durch die Installation von Paketen aus älteren Distributionen kann Ihr
apt
Installationssystem beschädigt werden.
libpng12
Ist 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, apt
da ä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 libpng12
das beschädigen kann apt
, habe ich geprüftdie Paketinformationen.
Die
libpng12
Abhängigkeiten vonlibc6 (>= 2.14)
undzlib1g (>= 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,
libpng12
da diese nicht im Repository enthalten ist. Die aktuellsten Programme hängen von ablibpng16-16
und 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
.deb
Installationsprogramm 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.
Installieren Sie die Pakete zum Kompilieren der Software (sofern sie nicht installiert sind)
$ sudo apt-get install build-essential
Besorgen und Extrahieren des Quellcodes
$ wget https://github.com/glennrp/libpng/archive/v1.2.59.tar.gz $ tar xvfz v1.2.59.tar.gz
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
libpng12
wie in festgelegt festgelegtapt
. Sie müssen ein.deb
Paket verwenden, um sie zu installieren und die Installation anderer.deb
davon abhängiger Dateien zu unterstützen. Um das entsprechende.deb
Paket zu erstellen, können Sie die folgenden Anweisungen verwenden.
Verwenden des Quellcodes des Ubuntu-Pakets
das libpng12-0
Paket entspricht libpng 1.2.54
. Ubuntu hat eine angepasste Version namens1.2.54-1ubuntu1
.
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
Laden Sie Quellcodedateien mithilfe der
.dsc
Datei von der Seite herunter$ dget -d http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng_1.2.54-1ubuntu1.dsc
Extrahieren Sie den Quellcode und wenden Sie den von Ubuntu bereitgestellten Patch an
$ dpkg-source -x libpng_1.2.54-1ubuntu1.dsc
Ü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
Installieren der Abhängigkeiten
$ sudo apt-get install debhelper libtool automake autoconf zlib1g-dev
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
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
libpng12
Paket 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ührtapt
.
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.