その他
    ホーム 技術発信 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で入れていったのでいざとなれば後から削除も可能です。