CentOS 5 に入っている ImageMagic が古いので、rails系のアプリを入れようとかすると、古いと怒られる場合もあるかと思う。となると、ソースから入れることになると思うけど、個人的にはパッケージ管理されない状態で入れるのは好きではない。というわけで、ソースパッケージを持ってきてパッケージをビルドしてインストールすることにする。一応、ImageMagickで配布されているパッケージを試してもたものの、普通に依存関係で怒られてインストールできなかった。
まずは、ソースパッケージを取得してビルドする。
# wget http://www.imagemagick.org/download/linux/SRPMS/ImageMagick-6.7.7-6.src.rpm # rpmbuild --rebuild ImageMagick-6.7.7-6.src.rpm
依存系のエラーが出てビルドできない。とりあえず、そこで表示されるパッケージをコピペしてインストール。
# yum install freetype-devel libpng-devel giflib-devel perl-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libxml2-devel librsvg2-devel OpenEXR-devel
存在しないものもあるので、別途取得する。
djvulibre-develはrpmforgeから取得する。
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm # rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm # yum --enablerepo=rpmforge install djvulibre-devel
あとは、perl-develも存在しないので、見つからないのでspecファイルから消してしまう。
# cd /usr/src/redhat/SPECS/ # vi ImageMagick.spec BuildRequires: libtiff-devel, giflib-devel, zlib-devel
ここまでくればビルドできるはず。
でも、libtoolの問題か、エラーになるので、LDFLAGSをつけて実行しておく。
# LDFLAGS=-L/usr/lib64 rpmbuild -bb ImageMagick.spec
あとは、成果物をインストール。
# cd ../RPMS/x86_64/ # rpm -ivh ImageMagick-6.7.7-6.x86_64.rpm