17.10 需要 Libpng12

17.10 需要 Libpng12

Blackmagic Design 的 Resolve 影片編輯器 V14.0.1 需要 libpng12。不幸的是,只有 libpng16隨新的 17.10 版本提供。

17.10 下有辦法恢復到 libpng12 嗎?如果是這樣,我如何獲得 libpng12 - synaptic 當我搜尋它時沒有列出它。

答案1

Ubuntu 軟體套件libpng12-0適用於 trusty (14.04LTS) 和 xenial (16.04LTS),但不適用於 17.10。您必須要求軟體製造商(即 Blackmagic Design)更新程式和/或安裝程式以使用最新的libpng16-16.


作為解決方法,您可以下載並安裝.debXenial 的軟體包從 Ubuntu 網頁在安裝 Blackmagic Design 的 Resolve 影片編輯器之前。

  • 安裝中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.

如果您不確定自己在做什麼,請不要嘗試安裝舊發行版的軟體包。

答案2

您可以編譯libpng.

  • 如果您有要安裝的程式的原始程式碼,則可以使用原始原始程式碼。安裝程式庫後,您可以使用它來配置和編譯其他應用程式。
  • 如果您沒有程式的原始程式碼,只有.deb安裝程序,例如,如果程式是商業產品,則必須安裝軟體套件以避免安裝過程中發生錯誤。您可以按照以下說明從原始程式碼建立套件。

從官方原始碼編譯libpng

注意舊的 libpng v1.2.x 可能有很多漏洞。建議使用最新的 1.2.x 版本來源鍛造或者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
    

筆記:安裝庫不會將依賴關係設定libpng12apt.您必須使用套件來安裝它並支援依賴它的.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.

答案3

這個源在 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

找到了這裡在嘗試安裝印表機驅動程式時,它似乎正在工作。

答案4

在我看來,從原始碼編譯比使用舊儲存庫中的舊套件更安全。

我能給你的最好建議是使用 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 的風險。

相關內容