CentOS 5.1でGruffのインストール

2008-04-09
2011-01-08
かなり古い記事です。現在も有効な内容であるかどうか分かりませんのでご注意ください。

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

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

参考

Profile

フルスタック気味のフリーランスプログラマー。

どちらかと言うと得意はインフラ構築とサーバーサイドプログラミングですが、フロントエンドもぼちぼちやっています。

最近の興味範囲はWordPress、AWS、サーバーレス、UIデザイン。

愛車はセロー。カメラはペンタックス。旅好きです。横浜在住。