RHEL5 に RMagick をインストール2009/05/01

予習

RMagick は、ImageMagick または GraphicsMagick を利用した Ruby向け画像操作ライブラリ。 できるだけrpmを利用したいので、今回はImageMagickを利用することにします。

gem でインストールが可能ですが、ネイティブコードのビルドがあるので、 make や gcc、ImageMagickの開発パッケージがインストールされているかを 確認しておいてください。

更にRMagickには、バージョン1系とバージョン2系があり、協働できる ImageMagick のバージョンが異なります。 詳しくはこちら (当然、2系の方がAPIは豊富です)

さて、Redhat Enterprise Linux 5で、オフィシャルのリポジトリからrpmでインストールした場合、 ImageMagickのバージョンは 6.2.8 のはずです。

この為、インストールできる RMagick はバージョン1系ということになります。 バージョン1系の最新(最終?)は 1.15.17 のようです。

インストール

バージョンを指定してインストール。

$ sudo gem install rmagick --version 1.15.17

これで上手くいけば良いのですが、上手くいかないはずです。

わざわざこんなエントリを書いているぐらいですからね

Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
        ERROR: Failed to build gem native extension.
(略)
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/rmagick-1.15.17 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/rmagick-1.15.17/gem_make.out 

そして、インストールログを見ろと言われる訳ですが、ログの最後の行が

RMagick configuration completed successfully.

だったりして、さっぱり訳が判りません。

この問題は、ネイティブコードをビルドするgemに共有する問題だと思っているのですが……。

  • ネイティブコードをビルドする gem を
  • version オプションを指定してインストールしようとすると

問答無用でエラーになるような気がします。 rubygems のソース自体は追っていないので、あくまで推測ですが。

エラー回避(1)

では、何が必要かと言うと、version オプションを使用せずに、固有のバージョンのgemをインストールできれば良い訳です。

幸い、すでに必要なgemファイルは取得されています。 このファイルを指定してやれば、version オプション無しで、固有のバージョンのgemをインストールできます。

$ cp /usr/lib/ruby/gems/1.8/cache/rmagick-1.15.17.gem ~/.
$ sudo gem install ~/rmagick-1.15.17.gem

先程よりは、先に進めるはずです。

ちなみに、sqlite3-ruby などはこれでインストールに成功します。

今度のログは、ちゃんと configure が動作した形跡があり、make も動いているようです。 エラーを吐いているのは、post-setup.rb のようです。 スタックトレースの先頭あたりを見ると

setup.rb: entering post-setup phase...
post-setup.rb: setting up documentation...
/usr/bin/ruby -I /usr/lib/ruby/gems/1.8/gems/rmagick-1.15.17/./lib -I /usr/lib/ruby/gems/1.8/gems/rmagick-1.15.17/./ext/RMagick Adispatch.rb (example 1 of 183)
/usr/bin/ruby -I /usr/lib/ruby/gems/1.8/gems/rmagick-1.15.17/./lib -I /usr/lib/ruby/gems/1.8/gems/rmagick-1.15.17/./ext/RMagick InitialCoords.rb (example 2 of 183)
/usr/lib/ruby/gems/1.8/gems/rmagick-1.15.17/./lib/rvg/misc.rb:321:in `get_type_metrics': unable to read font `/usr/share/fonts/default/TrueType/verdana.ttf' (Magick::ImageMagickError)

はい、verdana.ttf を利用したテストでエラーが出ています。

エラー回避(2)

RMagick のインストール中のテストで利用されるTrue Typeフォントは

  • arial.ttf
  • arialbd.ttf
  • arialbi.ttf
  • verdana.ttf

の4つです。

ASCIIが揃っていれば良いはずなので、適当なTrue Typeフォントをリネームするか、 これらは、Windowsの標準インストールに含まれるフォントなので(ry

ともかく、なんとかして

/usr/share/fonts/default/TrueType/

にファイルを用意してください。

これまで、True Typeフォントを利用していなければ、ディレクトリも無いはずです。

これで、改めて

$ sudo gem install ~/rmagick-1.15.17.gem

を実行すると、

Building native extensions.  This could take a while...
Successfully installed rmagick-1.15.17
1 gem installed
Installing ri documentation for rmagick-1.15.17...
Installing RDoc documentation for rmagick-1.15.17...

はい、インストールに成功しました。

おつかれさまでした。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://dragonstar.asablo.jp/blog/2009/05/01/4280918/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。