Для видеоредактора Resolve от Blackmagic Design, V14.0.1, требуется libpng1 2 . К сожалению, только libpng1 6 поставляется с новой версией 17.10.
Есть ли способ вернуться к libpng12 под 17.10? Если да, то как мне получить libpng12 - synaptic не выдает его при поиске.
ldd ./path/to/<program>
чтобы показать библиотеки, которые данный бинарный файл попытается загрузить. Скомпилируйте или загрузите устаревшие библиотеки либо рядом с двоичным файлом, либо управляйте envron LD_LIBRARY_PATH, чтобы включить их. Помните, что любое программное обеспечение, не распространяемое хранилищем пакетов вашего сопровождающего, не будет получать обновления безопасности от своей команды безопасности; вам придется самостоятельно обновлять библиотеку, четыре раза в день - идеальныйОтветы:
Существуют пакеты Ubuntu
libpng12-0
для доверенных (14.04LTS) и xenial (16.04LTS), но не для 17.10. Вы должны попросить производителя программного обеспечения (например, Blackmagic Design) обновить программу и / или установщик, чтобы использовать самые последние версииlibpng16-16
.В качестве обходного пути вы можете загрузить и установить
.deb
пакет для Xenial с веб-страницы Ubuntu перед установкой видеоредактора Resolve от Blackmagic Design.Установка
libpng12
Безопасно ли устанавливать
libpng12
пакет из Xenial (16.04LTS)?Использование пакетов из старых дистрибутивов может быть опасным. Это может нарушить систему
apt
установки, поскольку более старые пакеты могут вносить зависимости в несуществующие пакеты или заменять пакеты, необходимые для новых версий. Попробуйте использовать пакеты и репозитории для используемой версии Ubuntu, то есть официальных репозиториев Ubuntu и известных репозиториев PPA (которые тестируют их пакеты).Чтобы проверить, может ли установка
libpng12
сломатьсяapt
, я проверил информацию о пакете .libpng12
Зависит отlibc6 (>= 2.14)
иzlib1g (>= 1:1.1.4)
, которые включены в последних версиях Ubuntu.Обратите внимание, что никакой другой пакет Ubuntu не требует последней версии,
libpng12
потому что он не включен в репозиторий. Самые последние программы зависят,libpng16-16
и обе библиотеки могут сосуществовать.apt
.Не пытайтесь установить пакет более старого дистрибутива, если вы не уверены в том, что делаете.
источник
sudo apt upgrade
, вам придется приостановить импортированный пакет. Лучше откомпилировать libping12 и установить его, скажем, в / usr / local.libpng16-16
пакет перед установкой,libpng12
чтобы ответить на этот вопрос. В результате обе библиотеки установлены. Я сделалapt-get upgrade
в конце. - Прямо сейчас я думаю, что правила в хранилище не считаютlibpng16
последней версиейlibpng12
. В свою очередь,libpng12
зависит только от libc6 (> = 2.14) и zlib1g (> = 1: 1.1.4). - Я думаю, что это решениеlibpng12
может быть безопасным для использованияapt-get update
.libc6
иxzlib1g
существует в 17.x), который не зависит от включеннойlibpng
библиотеки и от которого не зависит ни один другой пакет, может сломатьapt
? - Я думаю, что такие программы, как WPS и редактор видео Resolve, зависят от (старых)libpng12
и они не будут удерживаться. Последние программы Ubuntu не зависят отlibpng12
ноlibpng16-16
. Эти приложения не будут удерживаться ни. - Для этого конкретного случая я считаю это решение безопасным.libpng12
загружена в репозитории 16.04, вы не получите это обновление автоматически, что особенно важно, если оно связано с безопасностью. Это можно исправить, добавив репозитории 16.04 в список источников и используя apt-pinning, чтобы они использовались только дляlibpng12
(присвоение приоритета <100 всем остальным пакетам).Вместо использования бинарного пакета вы можете скомпилировать
libpng
..deb
установщик, например, если программа является коммерческим продуктом, вы должны установить пакет, чтобы избежать ошибок во время установки. Вы можете создать пакет из исходного кода, используя инструкции ниже.Компиляция libpng из официального исходного кода
Обратите внимание, что старый libpng v1.2.x может иметь много уязвимостей . Рекомендуется использовать самую последнюю версию 1.2.x от sourceforge или github . Это для версии v.1.2.59.
Установите пакеты для компиляции программного обеспечения (если они не установлены)
Получить и извлечь исходный код
Скомпилируйте и установите библиотеку
Использование исходного кода пакета Ubuntu
libpng12-0
пакет соответствуетlibpng 1.2.54
. У Ubuntu есть настроенная версия, которую они назвали1.2.54-1ubuntu1
.Установите пакеты для компиляции программного обеспечения и создания пакетов Ubuntu (если они не установлены)
Загрузите файлы исходного кода, используя
.dsc
файл со страницыИзвлеките исходный код, применяя патч, предоставленный Ubuntu
Проверьте зависимости для пакета
Это показывает неудовлетворенные зависимости сборки. В моем случае...
Установите зависимости
Compile
Полученные пакеты будут расположены в родительской папке
Используйте полученный пакет
источник
Этот источник работал для меня на Ubuntu 18:
Нашел его здесь, когда пытался установить драйверы принтера, и, похоже, он работает.
источник
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-шара).
Удалить снова (при необходимости)
Я понимаю, что это выглядит как несколько дополнительных шагов, но скачивать и компилировать таким образом тривиально, и нет риска сломать apt.
источник
make install
,.deb
установщик не найдет зависимостьlibpng-12
как выполненную. Установщик не удастся. - Это решение будет работать, если вы сможете получить доступ к исходному коду или инсталлятору другого типа для программного обеспечения. - Если вы не можете получить исходный код, вы можете скомпилировать исходные коды для пакета Ubuntu и установить полученный файл перед установкой нужного программного обеспечения.