17.10 には Libpng12 が必要です

17.10 には Libpng12 が必要です

Blackmagic Design の Resolve ビデオ エディター V14.0.1 には libpng1 が必要です2残念ながら、libpng1のみ6新しい 17.10 リリースで提供されます。

17.10 で libpng12 に戻す方法はありますか? もしあるなら、どうすれば libpng12 を入手できますか? Synaptic で検索してもリストに表示されません。

答え1

があるUbuntuパッケージlibpng12-0trusty (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インストール システムが壊れる可能性があります。


libpng12Xenial (16.04LTS) からパッケージをインストールしても安全ですか?

古いディストリビューションのパッケージを使用することは危険です。apt古いパッケージは存在しないパッケージへの依存関係を導入したり、新しいバージョンに必要なパッケージを置き換えたりする可能性があるため、インストール システムが壊れる可能性があります。使用している Ubuntu バージョンのパッケージとリポジトリ、つまり公式の Ubuntu リポジトリやよく知られた PPA リポジトリ (パッケージをテストする) を使用するようにしてください。

のインストールlibpng12が を壊す可能性があるかどうかを確認するためにaptパッケージ情報

  • は、最近の Ubuntu バージョンに含まれているおよびlibpng12に依存します。libc6 (>= 2.14)zlib1g (>= 1:1.1.4)

    $ 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バージョンを使用することをお勧めします。ソースフォージまたはギットハブこれは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.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
    

注記:古いディストリビューションのパッケージをコンパイルしてインストールすることは、古いディストリビューションのバイナリパッケージを使用する. パッケージの説明されているコンパイル プロセスでは、libpng12Ubuntu 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 にバグレポートを提出することです。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 を壊すリスクはありません。

関連情報