RMagickインストールの道
Leopardを買ってウキウキしながら環境を整理してたんですが、RMagickのインストールにつまずいたのでメモ。まさかインストールでこんなに手こずるとは思わなかった。。でもLeopardはいいですよ。
目標: RMagickを入れる
- とりあえずMacPortsをインストールしなおそう。
- ImageMagick入れるだけだろう、、、と入らねー
- RMagickエラー出るじゃん
- ghostscriptか。。。て、これも動かん。
- ようやく入った ← いまココ
MacPortsをインストールしなおそう
上書きアップグレードしたんですが、zshが一瞬動かなくなっていたり、以前にPortsで入れたsvnやsvk、screenが/usr/binに入ったのよりも古かったりしたので環境を整理しようと思い立ちました。
で、Beginning OS X 10.5運用編の記述を参考にアンインストール
ImageMagick入れるだけだろう、、、
と思ったら依存しているtiffのビルドにコケました。なんということでしょう。MacPortsのBug reportをみたら同様の症状があるみたいで、下記の習性で直りました。
$ sudo vim /opt/local/var/macports/sources/rsync.macports.org/release/ports/graphics/tiff/Portfile
platform macosx { configure.args-append --with-apple-opengl-framework post-configure { reinplace "s,-L/usr/X11/lib,," ${worksrcpath}/tools/Makefile } }
http://trac.macosforge.org/projects/macports/ticket/12997
(注) 10/30 0:10分に公式にも入ったということを教えてもらいました。thanx > cojix
で、あとはあっさりImageMagickをインストール。Xはほとんど使わなくなったなぁ、ということで+no_x11でインストール
# 動かないというオチ付きなのでまだやっちゃダメ $ sudo port install ImageMagick @6.3.6-2_0+darwin_8+jpeg2+mpeg+no_x11+wmf
これはあっさり入るんですが、gem install RMagickすると落ちました。どうもフォントを埋め込めないみたい。gsか!
RMagickエラー出るじゃん。て、ghostscript入れてなかった。
ということで、port install ghostscriptしようとしたらこれがまた動かない。どうもXFree86への依存が入ってるみたいで、ここでこける。"univarsal_variant"というキーワードで落ちました(正確なエラーメッセージをメモし忘れた)。SEO的にもう一回書いときます。「macports ghostscript univarsal_variant」
仕方ないので手でghostscriptのPortfileをいじります。
$ sudo vim /opt/local/var/macports/sources/rsync.macports.org/release/ports/print/ghostscript/Portfile
# lib:libX11.6:XFree86 を削除 depends_lib port:zlib \ port:libiconv \ port:fontconfig \ port:expat
これでもう一回ghostscriptをビルドしたら通りました。ちなみにXFree86を削ってOKだろうと思ったのは、同バージョンのgsのPortfileでそれが入っていないものなんかがあったからです。詳しくはPortfileのrevision logをご覧ませ。
長かった。あとビルドするときは+gslibを忘れずに。
$ sudo port install ghostscript +gslib
ようやく入った
これで準備は整いました。あとはgs対応のImageMagickを入れてRMagickを入れるだけ。
$ sudo port install ImageMagick +gs+wmf+mpeg+jpeg2+no_x11+darwin_8
ちなみに、私は先述のように、ほとんどXを使っていないため +no_x11 で入れてます*1。ですから、例えば display コマンドが欲しい1なんかはまたちょっと違ったやり方になるはずです。ご注意ください。
$ gem install RMagick
という感じで入りました。同じような問題で悩んでいる方はご参考まで。