CentOS 5.1でGruffのインストール

Railsでグラフを書いてみようと思った。

棒グラフ限定ならCSS Graphsというプラグインがあって、これは他のライブラリのインストール等なくすぐ使えるのでお手軽。

しかし折れ線グラフを書きたいのです。
そこでちょいと調べてみるとGruffというのがスタンダードっぽい。

Gruffを使うにはRMagickが必要で、RMagickにはImageMagickが必要なので、まずはそれらのライブラリの準備から。
さらに途中でTrueTypeフォントを入れる必要もあったのでそこらへんも。

ImageMagickを入れる

$ sudo yum install ImageMagick ImageMagick-devel

ImageMagick自体はこれでさっくり入った。
RMagickを入れるときにヘッダファイルも必要なのでImageMagick-develも入れてある。

RMagickを入れる

続いてRMagick。gemが用意されているので簡単。

$ sudo gem install rmagick

と、思いきやパッケージで入れたImageMagickのバージョンが6.2.8なのでうまく入らないという罠が隠されていた。
上の方法でRMagickを入れようとするとVer.2系が入るので、Ver.2が要求するImageMagick6.3.0以降が必要になる。

ImageMagickを入れたときの依存するライブラリの多さからして、ImageMagickのバージョンを上げるというのは茨の道に思われたので、それは却下。
RMagickをなんとか入れる方法をさぐることにする。

しかしパッケージのバージョンが古いせいでこういう面倒が起きたりするとDebianとかがうらやましくなるね。

Rmagick 1.15.3を入れようとしてまた罠

以下のページを参考に。

次のようにするとVer.1系が入るという。

sudo gem install rmagick -v 1.15.3

しかしなにやら入らない。情報が古いのだろうか。
とりあえず単にgemが見つからないというエラーだったのでgemファイルを落としてきて入れる。

$ wget http://rubyforge.org/frs/download.php/32328/rmagick-1.15.13.gem
$ sudo gem install rmagick-1.15.13.gem

しかしまたしてもインストールできない。エラーが出てしまう。
エラーメッセージの内容を読むにTrueTypeフォントが入ってないせいらしい。

やれやれだぜ。

フォントを入れる

とりあえずまずはフォント関連のパッケージを見てみたが、何が何やらよくわからない。フォントのことはよくわからんな。
そこで以下のページを参考にMSの配布しているMicrosoft’s TrueType core fontsを入れることにした。

Personal Fedora Core 6 Installation Guide

ここで配布されているRPMを落としてきて

$ sudo rpm -ivh msttcorefonts-2.0-1.noarch.rpm

インストールすると/usr/share/fonts/msttcorefonts以下にフォントファイルができるので、これをRMagickのgemが要求する/usr/share/fonts/defaults/TrueType以下にコピーする。
それから再び

$ sudo gem install rmagick-1.15.13.gem

これでようやくRMagickが入った。

Microsoft’s TrueType core fontsのライセンスについて

ところでこれって合法的なの?と気になったのでちょっと調べてみる。

bitWalk’s: Smart package of Microsoft’s core fonts

フォントを何かに組み込んで再配布しなければ問題ないようだ。よかったよかった。

Gruffを入れる

RMagickが入ってしまえばあとは難しいことはなし。

$ sudo gem install gruff

サンプルコードを試すとさくっと使えた。ヤター。

参考

CentOS 5.1でGruffのインストール” に対して3件のコメントがあります。

  1. taslam より:

    たとえば1.x系最新の1.15.13を入れるなら
    gem install rmagick -v “=1.15.13”
    でいけますよ。(これでもフォントは要ります)

  2. akahige より:

    情報ありがとうございます。
    まだ入れてない環境で試してみたらバッチリ入りました。

コメントは受け付けていません。