smellman's Broken Diary

クソみたいなもんです

[http://doruby.kbmj.com/tmatsuzawa_on_rails/20100119/:title=DoRubyにMacPortsのRubyでwebroarを構築するってネタを書いたよ]

そのまんまなんですが、わりとはまりどころが多かったので捕捉を。
gnutls.hが参照されないってのはinstall.logを見れば一発でどこを修正すればいいかわかります。そりゃ、いろんなソフトウェアのインストール/ビルド経験があるから当然っちゃ当然なんですが。
問題はMacOSXRuby。最初にwebroarのビルドをした時にwebroar-headの方しかオプションをつける対象としなかったんですよ。これはgnutls"のみ"がビルドでひっかかってたと思っていたからこれで十分だろうって思ってしまったんですよね。
しかし、その状態で起動するとAdmin Panelが動いてくれない。なんでかっていうと、/System以下にあるRuby.Frameworkの方のgemを参照してrackが無くって落ちるんですよね。ってか、なんでそっちが参照されるのか理解できなかったんですが、webroarのソースを読んでたら、ruby_initとか関数呼んでるのに気づいて...実行バイナリのリンクを見てみたら、おもいっきり/System側のlibruby呼んでました。こりゃだめですね(汗
というわけでその周りの修正をして今度は大丈夫だろうと思ったら、今度はrailsのgemのバージョンがおかしいという内容のエラーなんだけど、なんか様子が変です。Admin Panel側のconfig/environment.rbに指定しても同じようなエラーが発生するんです。でも、エラーがrailsのgemのバージョンについてのみで、ちんぷんかんぷん。で、ダメもとでdebugオプション付きのビルドを作ってみたら、rackが読み込めないというエラーが出力されるようになりました。あれ?って思ったら、なんか途中でgemに入ってるやつのバージョンアップとか試みた時にrack 1.1.0が入っていたようで、rack 1.1.0を消してrack 1.0.1のみにしてみたら動作するようになりました。ってか、debugオプションつけないとrequireに失敗してるのが出力されないってどういう事なんだ(汗
というわけで、なんとかパッチも作成できたので記事を書きつつ、本家にチケットとして投稿しておきました。
これでやっとテストができます。MacのApache弄りたくないからここまでやるってのはどうかと思ったけど(^^