CentOS 5.1でGruffのインストール
Railsでグラフを書いてみようと思った。
棒グラフ限定ならCSS Graphsというプラグインがあって、これは他のライブラリのインストール等なくすぐ使えるのでお手軽。
- CSS Graphs Helper for Ruby on Rails | Ruby on Rails for Newbies
- 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.x系最新の1.15.13を入れるなら
gem install rmagick -v “=1.15.13”
でいけますよ。(これでもフォントは要ります)
情報ありがとうございます。
まだ入れてない環境で試してみたらバッチリ入りました。