プログラミング 美徳の不幸

Ruby, Rails, JavaScriptなどのプログラミングまとめ、解説、備忘録。

webpをubuntuで動かすときに

前回webpを使うことにしたという話をしたけど、今回はwebpをサーバに入れるところを紹介。けっこうハマったのでメモ。

まず結論からいうとwebpのインストールは比較的簡単だが、webpをサポートするimagemagickのインストールがけっこう辛い。apt-getで入るimagemagickおよびgraphicsmagickはwebpのサポートができてない。というわけでソースからビルドする必要があるけど、今度はapt-getで入るwebpのバージョンが古くて、imagemagickのわりと新しめのやつに合わない。 そうするとわざわざimagemagickをソースからビルドするのにapt-getと対して変わらないバージョンを使うという状況になってなんだか嫌だったので、webpもapt-getでなくソースからビルドしたほうが良い

コマンド (動作環境は例によってubuntu

必要なモジュール等のインストール

checkinstallは好みで

$ sudo apt-get update
$ sudo apt-get install build-essential checkinstall libx11-dev libxext-dev zlib1g-dev libpng12-dev libjpeg-dev libfreetype6-dev libxml2-dev
$ sudo apt-get build-dep imagemagick

libwebp

$ cd /tmp
$ mkdir webp
$ cd webp
$ wget http://downloads.webmproject.org/releases/webp/libwebp-0.4.3.tar.gz
$ tar -zxvf libwebp-0.4.3.tar.gz
$ cd libwebp-0.4.3
$ ./configure
$ make
$ sudo checkinstall
$ cwebp -version

imagemagick

$ cd /tmp
$ wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.9.2-4.tar.gz
$ cd ImageMagick-6.9.2-4
$ ./configure --with-webp=yes => これが重要、とても重要
$ make
$ sudo checkinstall
$ sudo dpkg -i imagemagick-6.9.2_4-1_amd64.deb
$ export LDFLAGS="-L/usr/local/lib -Wl,-rpath,/usr/local/lib"
$ export LD_LIBRARY_PATH="/usr/local/lib"

まぁいろいろやりながらやったあとhistory見てポイントを列挙しただけなので、これを上からやっても動く保証はないしどこかでちょっとしたことで躓くかもしれないが、重要な点は押さえられてると思う。つまり

  • あきらめてソースからビルドすること
  • libwebpもソースからビルドする
  • imagemagickのconfigure時に必ずwith-webpのオプションをyesに
  • インストール後、ライブラリのパスが通っていないことがあるので最後のLDFLAGS等の環境変数を設定すること

まぁ気が向いたらもう少しちゃんと編集します。