EWWW Image Optimizerのインストールをした際に「jpegtran」が必要になったためその時のインストール手順をまとめました。
はじめに
jpegtranをインストールするにあたってまず「jpegtran」って何?という疑問が出たのでそこから調べてみようと思いました。
すぐインストールしたい方はこちらへジャンプしてください。
jpegtranって何?
引用元wikipedia
libjpegはC言語で記述されたライブラリで、JPEGデコーダ、JPEGエンコーダ、その他JPEGユーティリティの広く使われている実装を含んでいる。 このライブラリはIndependent JPEG Groupによって保守されている。
https://ja.wikipedia.org/wiki/Libjpeg
エンコード、デコードにおいて負荷が高いDCTの演算では、浮動小数点演算、精度の高い整数演算、高速な整数演算の三通りが実装されており、用途によって選択できる。後者ほど演算誤差が大きい代わり、高速になる。
量子化テーブルはあらかじめプリセットもされており、1つのパラメータだけで画質と圧縮率のバランスを変更できる。プログラマによる量子化テーブルの定義も可能である。
正直なんのこっちゃと思うのでざっくりこんな感じのことかと思います。
JPEGファイルの画像を使った処理をするときに使える便利なツール
※個人的見解です
jpegtranについてざっくりわかったところで次にインストールに移ります。
使用環境
CentOS Linux release 7.8.2003(CentOS7)
インストール
パッケージを検索
パッケージ検索を行い「yum」コマンドでインストールできるか確認します。
yum search jpegtran
管理人の環境での取得結果
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ty1.mirror.newmediaexpress.com
* epel: ftp.riken.jp
* extras: ty1.mirror.newmediaexpress.com
* remi-safe: ftp.riken.jp
* updates: ty1.mirror.newmediaexpress.com
============================================================================================================= Matched: jpegtran =============================================================================================================
libjpeg-turbo-utils.x86_64 : Utilities for manipulating JPEG images
取得結果に応じてインストール方法が異なります。
今回の管理人での環境の場合、「libjpeg-turbo-utils.x86_6」がヒットしていますが、これは「libjpeg」の機能を使ったライブラリなので違うものです。
検索でヒットした場合のインストール方法
yum install jpegtran
または
yum -y install jpegtran
※ -y は問い合わせすべてにYesと答えるオプションです。
検索でヒットしなかった場合のインストール方法
パッケージ検索でヒットしなかった場合、公式サイトから圧縮されたライブラリを取得する必要があります。
〇ダウンロード前に作業用のディレクトリに移動
cd /tmp
〇ダウンロードと解凍
wget http://www.ijg.org/files/jpegsrc.v9d.tar.gz
tar xzvf jpegsrc.v9d.tar.gz
管理人がダウンロードした時のバージョンは「9d」でした。
バージョンに関しては以下のURLから確認できるのでダウンロードするときに確認してみると良いと思います。
http://www.ijg.org/
〇インストール前準備
解凍したファイルに対してMakeFileを作成する必要があるので次の3つのコマンドを実行してください。
cd jpeg-9d
./configure
make
※管理人はここでエラーが発生しました。詳しくはこちらを見てください。
〇インストール
※インストールした時の実行結果はコピーして何かのエディタに貼り付けて置くと良いです。
make install
〇正しくインストールされているか確認
cd /usr/local/bin/
ll
total 484
-rwxr-xr-x. 1 root root 152232 Sep 20 13:57 cjpeg
-rwxr-xr-x. 1 root root 127512 Sep 20 13:57 djpeg
-rwxr-xr-x. 1 root root 152744 Sep 20 13:57 jpegtran
-rwxr-xr-x. 1 root root 24496 Sep 20 13:57 rdjpgcom
-rwxr-xr-x. 1 root root 26360 Sep 20 13:57 wrjpgcom
ここで「jpegtran」が確認出来たらインストールが出来ています。
もし存在場合、先ほどコピーした実行結果にインストール先が記載してあります。
〇パスを通す
先に次のコマンドを実行してください。
jpegtran -v
この時「bash: jpegtran: command not found」とメッセージが表示される時はパスを通す必要があります。パスについては今回はあまり触れないので何なのかわからない方は調べてみてください。
パスを通すのは次のコマンドを実行してください。
export PATH="$PATH:/usr/local/bin"
※「/usr/local/bin」の部分はインストール先のディレクトリになります。
これにてインストールは終了です。
トラブルシューティング
./configureでエラーが出た
管理人は以下のようなエラーが発生しました。
./configure
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/jpeg-9d':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
下から2行目の「no acceptable C compiler found in $PATH」とあるのでC言語のコンパイラが無いのが原因のようです。
なので次のコマンドでC言語のコンパイラをインストールすることで解決できます。
yum -y install gcc
コメント