ホーム DoRuby CentOSに最新のImageMagickをインストールする(RPMで)

CentOSに最新のImageMagickをインストールする(RPMで)

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

CentOS 5.4 で管理されている ImageMagickは 6.2.8.0 と古く新しいRMagickやらを使うとき何かと困ることがある。

今回は最新版のImageMagickをrpmでインストールする方法をご紹介します。

src.rpmからrpmをbuildします。

コマンドと実行結果を交えて手順を示します。

なお、RPMForgeが入っている事が前提です。

RPMForgeは以下のコマンドで使用可能になります。

$ sudo rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

まずSRCのRPMを取得

wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/linux/SRPMS/ImageMagick.src.rpm

下記ディレクトリがない場合は作りましょう。

$ sudo mkdir -p /usr/src/redhat/SOURCES

ソースRPMをインストール

[user@CentOS ~]$ sudo rpm -ivh --nomd5 ImageMagick.src.rpm
   1:ImageMagick            警告: ユーザ cristy は存在しません - root を使用します
警告: グループ cristy は存在しません - root を使用します
########################################### [100%]
警告: ユーザ cristy は存在しません - root を使用します
警告: グループ cristy は存在しません - root を使用します

(cristyってだれ)

jasper は yum で持ってこれないので下記よりダウンロードしてインストールします。

64bit の場合
$ wget http://centos.karan.org/el5/extras/testing/x86_64/RPMS/jasper-libs-1.900.1-7.el5.kb.x86_64.rpm
$ wget http://centos.karan.org/el5/extras/testing/x86_64/RPMS/jasper-devel-1.900.1-7.el5.kb.x86_64.rpm

32bit の場合
$ wget http://centos.karan.org/el5/extras/testing/i386/RPMS/jasper-libs-1.900.1-7.el5.kb.i386.rpm
$ wget http://centos.karan.org/el5/extras/testing/i386/RPMS/jasper-devel-1.900.1-7.el5.kb.i386.rpm

[user@CentOS ~]$ sudo rpm -ivh jasper-libs-1.900.1-7.el5.kb.i386.rpm
準備中...                ########################################### [100%]
   1:jasper-libs            ########################################### [100%]
[userCentOS ~]$ sudo rpm -ivh jasper-devel-1.900.1-7.el5.kb.i386.rpm
準備中...                ########################################### [100%]
   1:jasper-devel           ########################################### [100%]

djvulibre-develはRPMForgeより持ってきます。

$ sudo yum --enablerepo=rpmforge install djvulibre-devel

Installed:
  djvulibre-devel.i386 0:3.5.20-1.el5.rf

Dependency Installed:
  djvulibre.i386 0:3.5.20-1.el5.rf              libmng.i386
0:1.0.9-5.1              qt.i386 1:3.3.6-23.el5

Complete!

rpmbuildをインストールしてない方は入れます。

$ sudo yum install rpm-build

SPECSディクレトリに移動してImageMagickのspecを編集します。

perl-develはCentOSの場合perlに含まれるので削除します。

$ cd /usr/src/redhat/SPECS
$ sudo vi ImageMagick.spec

上から10行目付近のperl-develを削除
BuildRequires:  libtiff-devel, giflib-devel, zlib-devel, perl-devel
↓
BuildRequires:  libtiff-devel, giflib-devel, zlib-devel

では、RPMを作ります。

$ sudo rpmbuild -ba ImageMagick.spec

色々足りないといわれます。

エラー: ビルド依存性の失敗:
        freetype-devel は ImageMagick-6.5.8-6.i386 に必要とされています
        libpng-devel は ImageMagick-6.5.8-6.i386 に必要とされています
        giflib-devel は ImageMagick-6.5.8-6.i386 に必要とされています
        libwmf-devel は ImageMagick-6.5.8-6.i386 に必要とされています
        libtool-ltdl-devel は ImageMagick-6.5.8-6.i386 に必要とされています
        libxml2-devel は ImageMagick-6.5.8-6.i386 に必要とされています
        librsvg2-devel は ImageMagick-6.5.8-6.i386 に必要とされています

足りないものはまとめてyum でインストールします。

$ sudo yum install freetype-devel libpng-devel giflib-devel libwmf-devel libtool-ltdl-devel libxml2-devel librsvg2-devel

おそらく上記だけ40個以上のパッケージを必要とするのでインストールが終わるまでしばし待ちます。

再度トライ

$ sudo rpmbuild -ba ImageMagick.spec

成功するとコンパイルが始まります。

これも時間がかかるのでコーヒーでも飲んでましょう。

成功すると下記ディレクトリにRPMが6つできあがります。

/usr/src/redhat/RPMS/{arc}/

まとめてインストールしてしまいましょう。

$ sudo yum install --nogpgcheck ImageMagick-6.5.8-6.i386.rpm ImageMagick-c++-6.5.8-6.i386.rpm ImageMagick-c++-devel-6.5.8-6.i386.rpm ImageMagick-devel-6.5.8-6.i386.rpm ImageMagick-doc-6.5.8-6.i386.rpm ImageMagick-perl-6.5.8-6.i386.rpm

Installed:
  ImageMagick.i386 0:6.5.8-6   ImageMagick-c++.i386 0:6.5.8-6
ImageMagick-c++-devel.i386 0:6.5.8-6   ImageMagick-devel.i386
0:6.5.8-6   ImageMagick-doc.i386 0:6.5.8-6   ImageMagick-perl.i386
0:6.5.8-6

Complete!

これで最新のRMagickも楽にインストールできます。

基本すべてRPMで入れていったのでいざとなれば後から削除も可能です。

記事を共有

最近人気な記事