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で入れていったのでいざとなれば後から削除も可能です。

ブックマークに追加する

.
web開発ならKBMJ
Rubyでのwebシステム開発は
実績豊富なKBMJにお任せ下さい
iPhone開発
iPhone開発は
KBMJにお任せ下さい
ブラウザゲーム エインヘリアル
ブラウザゲーム「エインへリアル」
サービス中
オープンソースECパッケージ エレコマ
オープンソースECパッケージ
「エレコマ」
Google Analytics徹底活用スクール
レベルに合わせた
実用的な活用スキルを徹底指導。
好評定期開催中です!

プロフィール

キューリ
キューリ

最近チェックした記事

最新記事

アーカイブ

アクセスランキング

KBMJのWebソリューション
Ruby on railsの開発ならKBMJ
株式会社ケイビーエムジェイ