インストール: libjpeg | JPEGの基本ライブラリー
JPEGの基本ライブラリーであるlibjpegをソースコードからインストールする。
libGD内で使われており,PHPからjpeg関係の操作をする際に必要になったので,インストールした。
項目 | 説明 |
---|---|
配布元 | Independent JPEG Group |
リポジトリー | |
手順 | ijg/install.txt at master · libjpeg-turbo/ijg |
依存情報 | ijg/install.txt at master · libjpeg-turbo/ijg |
依存先 (必須) | Make (GNU Make) |
依存先 (任意) | |
依存元 | libGD |
日付 | バージョン | OS | 依存関係 |
---|---|---|---|
2020-02-07 | 9c | Ubuntu 18.04 | GNU Make 4.2.1, GCC 7.4.0 |
2020-02-07時点での最新版は2020-01-12に公開された9dなのだが,GitHubのミラーリポジトリーの最新版が9cだったので,9cをインストールした。
当初のビルドではmake check
で以下のエラーが出てしまった。
make check-local make[1]: Entering directory '/home/senooken/.local/src/libjpeg' rm -f testout* ./djpeg -dct int -ppm -outfile testout.ppm ./testorig.jpg Unsupported output file format make[1]: *** [Makefile:1226: check-local] Error 1
PPMの出力に対応できていないようだ。調べたところjconfig.cfg~
に#define PPM_SUPPORTED
の定義があり,jconfig.txt
を見ろとある。jconfig.hにコンパイル用のマクロが定義されている。
ビルドの過程でjconfig.cfg
が修正されて,#define PPM_SUPPORTED
が削除されたのが原因のようだ。
通常,リポジトリーからチェックアウトした場合,autoreconf -is
などで,configure.ac
から自前でconfigure
を作成する必要がある。ただし,libjpegの場合,configure
があらかじめ用意されていた。autoreconf -is
を実行したのがまずかったようだ。
以下のようにビルド手順を見直して,configure
が不在,かつconfigure.ac
が存在する場合にautoreconf -is
を実行するようにした。つまり,今回はautoreconf
を実行しないようにした。
[ ! -e configure ] && [ -e configure.ac ] && autoreconf -is
これで問題なくビルドできた。