mixhost

MixHost(レンタルサーバー)にmozjpegをインストールする

更新日:2023/01/14

MixHostにmozjpegをソースからビルドしてインストールしてみます。

 

cmakeのインストール

mozjpegのビルドにcmakeが必要なので入れます。

インストール方法は、次の記事で紹介しているので参考にしてください。

めんどくさいけれど、仕方がない…

 

ダウンロード

mozjpegのソースをダウンロードします。
次のページで、ダウンロードURLを確認してください。

上のページの最新の .tar.gz のリンク先をコピーしておきます。

MixHostのコントロールパネルからターミナルを開きます。
次のコマンドを実行します。

$ wget https://github.com/mozilla/mozjpeg/archive/refs/tags/v4.1.1.tar.gz
$ tar xvf v4.1.1.tar.gz

wgetの後のURLは、コピーしたリンクに置き換えてください。
tar のファイル名も同様に、ダウンロードされたものに置き換えてください。

アーカイブはv4.1.1という名前ですが、解凍するとmozjpeg-4.1.1というディレクトリが作成されます。

 

インストール

MixHostはroot権限がもらないので、ホームディレクトリ内にインストールします。
今回は/home/ユーザー名/binにしておきます。

インストール先のディレクトリは作成しておきます。

準備ができたら、次のコマンドを実行します。

$ cd mozjpeg-4.1.1
$ cmake . -DCMAKE_INSTALL_PREFIX=/home/ユーザー名/bin -DCMAKE_BUILD_TYPE=RELEASE

-DCMAKE_INSTALL_PREFIXはインストール先の指定です。置き換えてください。

libpngに関するエラーが表示される可能性があります。
黄色のWarningは気にしなくても(たぶん)大丈夫。
赤色はおそらくlibpngが存在しないという意味なので、入れます。

入れ方は、こちら↓

libpngをインストールしたら、再度cmakeしてください。

■蛇足な補足

なお複数のバージョンのlibpngがインストールされていると、次のようなWarningが出る可能性があります。

CMake Warning at sharedlib/CMakeLists.txt:88 (add_executable):
  Cannot generate a safe runtime search path for target cjpeg because files
  in some directories may conflict with libraries in implicit directories:

    runtime library [libpng16.so.16] in /usr/lib64 may be hidden by files in:
      /home/ユーザー名/bin/lib

  Some of these libraries may not be found correctly.

「ライブラリの検索パス設定によってリンクされるライブラリが変わってしまいますよ。」
という意味(たぶん)なので、気にしなくて大丈夫です。

 

インストールの続き

cmakeが終了したら、次のコマンドを実行します。

$ make
$ make install

これで、インストール先にmozjpegが生成したコマンド(ツール)やライブラリが配置されます。

■インストール先/binに配置されるもの

tjbench
rdjpgcom
wrjpgcom
cjpeg
djpeg
jpegtran

■インストール先/lib64に配置されるもの

libturbojpeg.so.0.2.0
libturbojpeg.so.0
libturbojpeg.so
libturbojpeg.a
libjpeg.a
libjpeg.so.62.3.0
libjpeg.so.62
libjpeg.so

■インストール先/includeに配置されるもの

turbojpeg.h
jconfig.h
jerror.h
jmorecfg.h
jpeglib.h

 

パスの設定

インストール先のディレクトリにパスを通します。

.bash_profileまたは.bashrcでコマンドとライブラリの検索パスを設定します。

.bash_profileまたは.bashrc

export PATH=$PATH:$HOME/bin/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/bin/lib64

 

テスト

ターミナルを再読み込みして、次のコマンドを実行します。

$ cjpeg -version
mozjpeg version 4.1.1 (build 20230113)

これで終了。

更新日:2023/01/14

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。