Libpng12 необходим для 17.10
Для видеоредактора Resolve от Blackmagic Design, V14.0.1, требуется libpng12. К сожалению, только libpng16 поставляется с новой версией 17.10.
Есть ли способ вернуться к libpng12 под 17.10? Если да, то как мне получить libpng12 - synaptic не выдает его при поиске.
4 ответа
Есть пакеты Ubuntu для libpng12-0 для верных (14.04LTS) и xenial (16.04LTS), но не для 17.10. Вы должны попросить производителя программного обеспечения (например, Blackmagic Design) обновить программу и / или установщик, чтобы использовать самые последние версии libpng16-16,
В качестве обходного пути вы можете загрузить и установить .deb пакет для Xenial с веб-страницы Ubuntu перед установкой видеоредактора Resolve от Blackmagic Design.
Установка
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
ПРИМЕЧАНИЕ. Установка пакетов из более старых дистрибутивов может привести к поломке
aptсистема установки.
Безопасно ли устанавливать libpng12 посылка от Xenial (16.04LTS)?
Использование пакетов из старых дистрибутивов может быть опасным. Это может сломать apt система установки, поскольку старые пакеты могут вводить зависимости от несуществующих пакетов или заменять пакеты, необходимые для новых версий. Попробуйте использовать пакеты и репозитории для используемой версии Ubuntu, то есть официальных репозиториев Ubuntu и хорошо известных репозиториев PPA (которые тестируют их пакеты).
Чтобы проверить, если установка libpng12 может сломать apt Я проверил информацию о пакете.
libpng12зависит отlibc6 (>= 2.14)а такжеzlib1g (>= 1:1.1.4)которые включены в последние версии Ubuntu.$ apt-cache policy libc6 # gives me 2.24-9ubuntu2.2 $ apt-cache policy zlib1g # gives me 1.2.11dfsg-0ubuntu1Обратите внимание, что никакой другой пакет Ubuntu не требует последней версии
libpng12потому что он не включен в хранилище. Самые последние программы зависят отlibpng16-16и обе библиотеки могут сосуществовать.- Я думаю, что маловероятно, что этот пакет нарушает
apt,
Не пытайтесь установить пакет более старого дистрибутива, если вы не уверены в том, что делаете.
Вместо использования бинарного пакета вы можете скомпилировать libpng,
- Если у вас есть исходный код программы, которую вы хотите установить, вы можете использовать оригинальный исходный код. После установки библиотеки вы можете использовать ее для настройки и компиляции других приложений.
- Если у вас нет исходного кода программы, а только
.debУстановщик, например, если программа является коммерческим продуктом, вы должны установить пакет, чтобы избежать ошибок во время установки. Вы можете создать пакет из исходного кода, используя инструкции ниже.
Компиляция libpng из официального исходного кода
Обратите внимание, что старый libpng v1.2.x может иметь много уязвимостей. Рекомендуется использовать самую последнюю версию 1.2.x от sourceforge или github. Это для версии v.1.2.59.
Установите пакеты для компиляции программного обеспечения (если они не установлены)
$ sudo apt-get install build-essentialПолучить и извлечь исходный код
$ wget https://github.com/glennrp/libpng/archive/v1.2.59.tar.gz $ tar xvfz v1.2.59.tar.gzСкомпилируйте и установите библиотеку
$ cd libpng-1.2.59/ $ ./configure $ make check $ sudo make install
ПРИМЕЧАНИЕ. При установке библиотеки не будет установлена зависимость
libpng12как встретил вapt, Вы должны использовать.debпакет для установки и поддержки установки других.debфайлы, которые зависят от этого. Создать соответствующий.debПакет, вы можете использовать следующие инструкции.
Использование исходного кода пакета Ubuntu
libpng12-0 пакет соответствует libpng 1.2.54, У Ubuntu есть настроенная версия, которую они назвали 1.2.54-1ubuntu1,
Установите пакеты для компиляции программного обеспечения и создания пакетов Ubuntu (если они не установлены)
$ sudo apt-get install build-essential fakeroot dpkg-dev devscriptsЗагрузите файлы исходного кода, используя
.dscфайл со страницы$ dget -d http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng_1.2.54-1ubuntu1.dscИзвлеките исходный код, применяя патч, предоставленный Ubuntu
$ dpkg-source -x libpng_1.2.54-1ubuntu1.dscПроверьте зависимости для пакета
$ cd libpng-1.2.54/ $ dpkg-buildpackage -rfakeroot -bЭто показывает неудовлетворенные зависимости сборки. В моем случае...
: dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper (>= 8.1.3) libtool automake autoconf zlib1g-devУстановите зависимости
$ sudo apt-get install debhelper libtool automake autoconf zlib1g-devкомпилировать
$ fakeroot debian/rules binaryПолученные пакеты будут расположены в родительской папке
../libpng12-0_1.2.54-1ubuntu1_amd64.deb ../libpng12-dev_1.2.54-1ubuntu1_amd64.deb ../libpng3_1.2.54-1ubuntu1_amd64.debИспользуйте полученный пакет
$ cd .. $ sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb
ПРИМЕЧАНИЕ. Компиляция и установка пакетов для старых дистрибутивов так же опасны, как и использование бинарных пакетов для старых дистрибутивов. Описанный процесс компиляции для
libpng12Пакет использует только пакеты в репозиториях Ubuntu 17.x и не приводит к ошибкам. Я думаю, что использование полученного пакета не сломаетapt,
Этот источник работал для меня на 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
Нашел его здесь, когда пытался установить драйверы принтера, и похоже, что он работает
IMO, вы безопаснее компилируете из исходного кода, чем используете старые пакеты из старых репозиториев.
Лучший совет, который я могу вам дать, это подать отчет об ошибке в blackmagic, им нужно обновить свои зависимости.
https://www.blackmagicdesign.com/support/
Для компиляции перейдите в соответствующий пакет Ubuntu, чтобы определить пакет и исходный код
https://packages.ubuntu.com/xenial/libpng12-0
Итак, вы хотите "libpng_1.2.54.orig.tar.xz"
https://sourceforge.net/projects/libpng/files/libpng12/older-releases/1.2.54/
скачать, распаковать, скомпилировать, установить (начиная с загрузки и распаковки tar-шара).
cd libpng-1.2.54
./configure --prefix=/usr/local
make
sudo make install
Удалить снова (при необходимости)
#run within libpng-1.2.54 directory
sudo make uninstall
Я понимаю, что кажется, что это несколько дополнительных шагов, но скачать и скомпилировать таким образом тривиально, и нет никакого риска сломать apt.