CentOS5 に Ruby 1.8.7 とか 1.8.8 を入れると rubygems が zlib がないと怒る
ruby + Gruff を入れようとしたら,表題以外にもいろいろと怒られた.どういうふうに怒られたかを書いておく.下記はハマった手順なので,このとおりにしてはいけない・・・.正しいインストールの手順はこの後に書いてある.
- ruby が 1.8.5 と古くてアレなので,1.8.8 あたりをとってきて make して install した.
- gems を入れようとしたところ,表題の通りの罠にハマった.
- yum install zlib-devel を先にしておくか,Ruby を make する前に zlib-devel を入れておく - tkrdの日記 (rails や ubuntu のことなど) に書いてある通りにやれば解決する.
- 次に ImageMagick を入れようとする.
- ここで yum install ImageMagick とすると,まず Magick-config が無いといって怒られる.
- そこで yum install ImageMagick-devel とすると,今度はバージョンが低くてダメと怒られる.
- 仕方ないので ImageMagick のソースを持ってきて make して install しようとする.
- しかしここにも罠があり,make する前に yum install libjpeg-devel と yum install libpng-devel をしておく必要がある.これをしないと,あとで jpeg や png を出力しようとしたとき Magick::ImageMagickError が出てハマる.
- ImageMagick の configure の最後で JPEG や PNG が yes になっているのを確認してから make を実行する.
- gem install rmagick を実行する.
- ここで libjpeg や libpng がないと,Magick::ImageMagickError とかのエラーが出まくる.
- また ImageMagick-devel が入ってないと,Magick-config が無いといわれてインストールそのものができない.
- gem install gruff を実行する.
というわけで,2011/8 時点で CentOS5 に ruby-1.8.7/1.8.8 + Gruff を入れる正しい手順は次の通りらしい.
- yum install zlib-devel を実行
- ruby 1.8.7 / 1.8.8 をソースからコンパイルしてインストール
- rubygems をソースからコンパイルしてインストール
- yum install libjpeg-devel を実行
- yum install libpng-devel を実行
- ImageMagick をソースからコンパイルしてインストール
- gem install rmagick を実行
- gem install gruff を実行
こんなところで苦労するとは思わなかった.ちなみに,入れたバージョンは以下の通り.
- ruby 1.8.8 オブジェクト指向スクリプト言語 Ruby
- ImageMagick-6.6.7-10: Download @ ImageMagick
- RubyGems 1.8.8: http://rubyforge.org/projects/rubygems/
すごく参考になった記事群に感謝: