Libpng12 необходим для 17,10

Редактор видео Твердости Дизайна Blackmagic, V14.0.1, требует libpng12. К сожалению, только libpng16 предоставляют новые 17,10 выпусков.

Существует ли способ вернуться к libpng12 под 17,10? Если так, как я добираюсь, libpng12 - синаптический не перечисляет его, когда я ищу его.

12
задан 28 October 2017 в 14:43

4 ответа

IMO Вы - более безопасная компиляция из источника, чем Вы, используют старые пакеты из старых репозиториев.

Лучший совет я могу дать Вам, должен зарегистрировать отчет об ошибках с blackmagic, они должны обновить свои зависимости.

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

Для компиляции перейдите к соответствующему пакету человечности для идентификации пакета и восходящего источника

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

я понимаю, что это походит на несколько дополнительных шагов, но это тривиально, чтобы загрузить и скомпилировать таким образом и нет никакого риска повреждения склонного.

0
ответ дан 23 November 2019 в 03:35

Существуют пакеты Ubuntu для libpng12-0 для надежного человека (14.04LTS) и гостеприимный (16.04LTS), но не для 17,10. Необходимо попросить к производителю программного обеспечения (т.е. Дизайн Blackmagic) обновлять программу и/или установщик для использования нового libpng16-16.


Как обходное решение, можно загрузить и установить .deb пакет для Гостеприимного от веб-страницы Ubuntu прежде, чем установить редактора видео Твердости Дизайна Blackmagic.

  • Установка 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 пакет от Гостеприимного (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.

Не пытайтесь установить пакет более старого распределения, если Вы не уверены в том, что Вы делаете.

15
ответ дан 23 November 2019 в 03:35

Вместо того, чтобы использовать двоичный пакет, можно скомпилировать libpng.

  • Если у Вас есть исходный код программы, Вы хотите установить, можно использовать код первоисточника. После установки библиотеки можно использовать его, чтобы настроить и скомпилировать другие приложения.
  • Если у Вас нет исходного кода программы, но только a .deb установщик, например, если программа является коммерческим продуктом, необходимо установить пакет для предотвращения ошибок во время установки. Можно создать пакет из исходного кода с помощью инструкций ниже.

Компиляция libpng от официального исходного кода

Обратите внимание, что старый libpng v1.2.x может иметь много уязвимостей. Рекомендуется использовать новое 1.2.x версия из SourceForge или GitHub. Это для v.1.2.59 версии.

  1. Установите пакеты для компиляции программного обеспечения (если они не установлены),

    $ sudo apt-get install build-essential
    
  2. Получите и извлеките исходный код

    $ wget https://github.com/glennrp/libpng/archive/v1.2.59.tar.gz
    $ tar xvfz v1.2.59.tar.gz 
    
  3. Скомпилируйте и установите библиотеку

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

Примечание: Установка библиотеки не установит зависимость на libpng12 как встречено в apt. Необходимо использовать a .deb пакет, чтобы установить его и поддерживать установку другого .deb файлы, которые зависят от него. Создать соответствие .debпакет, можно использовать следующие инструкции.


Используя исходный код пакета Ubuntu

libpng12-0 пакет соответствует libpng 1.2.54. Ubuntu имеет настроенную версию, которую они назвали 1.2.54-1ubuntu1.

  1. Установите пакеты, чтобы скомпилировать программное обеспечение и создать пакеты Ubuntu (если они не установлены),

    $ sudo apt-get install build-essential fakeroot dpkg-dev devscripts
    
  2. Загрузите файлы исходного кода с помощью .dsc файл от страницы

    $ dget -d http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng_1.2.54-1ubuntu1.dsc
    
  3. Извлеките исходный код, применяющий исправленный, обеспеченный Ubuntu

    $ dpkg-source -x libpng_1.2.54-1ubuntu1.dsc 
    
  4. Проверьте зависимости на пакет

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

    Это показывает невстреченные зависимости от сборки. В моем случае...

     :
    dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper (>= 8.1.3) libtool automake autoconf zlib1g-dev
    
  5. Установите зависимости

    $ sudo apt-get install debhelper libtool automake autoconf zlib1g-dev
    
  6. Скомпилировать

    $ 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
    
  7. Используйте получающийся пакет

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

Примечание: Компиляция и установка пакетов для старых дистрибутивов так же опасны как использование двоичных пакетов для старых дистрибутивов. Описанный процесс компиляции для libpng12 пакет использует только пакеты в репозиториях Ubuntu 17.x и не приводит к ошибкам. Я думаю, что использование получающегося пакета не повредится apt.

4
ответ дан 23 November 2019 в 03:35

Этот источник работал на меня на 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

Найденный им здесь при попытке установить драйвера принтера и он, кажется, работает.

1
ответ дан 23 November 2019 в 03:35

Другие вопросы по тегам:

Похожие вопросы: