Linux Mint 17にBPG(Better Portable Graphics)をインストールする方法は?

Linux Mint 17にBPG(Better Portable Graphics)をインストールする方法は?

Linux Mint 17にBPG(Better Portable Graphics)をインストールする方法は? tar.gzファイルを以下からダウンロードしました。ファブリス・ベラードのホームページ。読書には次のように記載されています。

Makefileを編集してコンパイルオプションを変更します(Linuxではデフォルトのコンパイルオプションが機能するはずです)。コンパイルするには「make」と入力し、コンパイルされたバイナリをインストールするには「make install」と入力します。

を編集していませんMakefile。ディレクトリで端末を開いて実行しましたが、次のmakeエラーが返されました。

gcc -g -Wl,--gc-sections -o bpgdec bpgdec.o libbpg.a -lpng -lrt -lm -lpthread
bpgdec.o: In function `png_save':
/home/ghort/Downloads/libbpg-0.9.5/bpgdec.c:118: undefined reference to 
  `png_set_longjmp_fn'
collect2: error: ld returned 1 exit status
make: *** [bpgdec] Error 1

実験的にlibpng16をインストールする必要があることを他の場所で読んだようですが、よくわかりません。

ベストアンサー1

libbpgapt-getLinux Mint 17にはインストールできないPNGライブラリバージョン1.6を使用してください。このライブラリは互換性がなく、libpng12以下からインストールする必要があります。源泉(私が使用するバージョンは1.6.16)

追加の問題は、PNG 1.6をインストールする場合、.configを使用してPNG 1.6を設定してもPNG 1.6が引き続きmake使用libbpgされることです。そして単に削除してそれに頼ることはできず、コンパイルにも必要です。libpng12-devconfigure --prefix=/usrlibpng12-devlibsdl-image1.2-devlibsdl1.2-devlibbpg

パッケージをインストールlibsdl-imageせずにソースコードをダウンロードしてコンパイルすることもできます。私はこのパスに従わなかった。ファイル(パッケージではなく)を一時的に削除し、作業が終わったら再インストールしました(Linux Mint 17では、この内容をコピーして貼り付けることができるはずです)。libsdl1-devlibpng12-dev

# install dev packages needed 
sudo apt-get install -y libsdl-image1.2-dev libsdl1.2-dev libjpeg8-dev
#### temporarily remove the files from the libpng12 package
# this gives error messages on the directories (that cannot be removed this
# way, which can be ignored.
sudo rm $(dpkg -L libpng12-dev)

# download, configure, make and make install PNG 1.6
wget -O libpng-1.6.16.tar.xz 'http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flibpng%2Ffiles%2Flibpng16%2F1.6.16%2F&ts=1424607004&use_mirror=garr'
tar xf libpng-1.6.16.tar.xz
pushd libpng-1.6.16
./configure --prefix=/usr
make -j
sudo make install
popd

# download, make and make install BPG
wget http://bellard.org/bpg/libbpg-0.9.5.tar.gz
tar xf libbpg-0.9.5.tar.gz
pushd libbpg-0.9.5
make -j
sudo make install
popd

# reinstall libpng12-dev
sudo apt-get install --reinstall libpng12-dev

libpng12-devもちろん、PNG 1.6を並列にインストールしてソースを調整する方が適切ですlibbpg。ただし、BPGライブラリを定期的に再コンパイルしないため、IMOはこのパッチワークを受け入れます。


¹ビルを試してみることもできます。libpng16-devただし、インストールすると依存-devパッケージのみが削除されることがありますlibpng12-dev。まだ試していません。

おすすめ記事