Tellur52の日記: のこぎりこわい
VisualStudioを入れた環境で、ActiveScript RubyにNokogiriを入れようとしたら、予想外に派手なはまり方をしているので、メモ。
あ、ちなみに32bit環境のWin7で、Ruby-2.1.0-p0に挑戦中。
1. mswin32用のパッケージが見つかりませんとgemがのたまう
→ --platform=ruby をつけて、自力コンパイルしていくらしい
2. なんかビルドできないエラーがでているらしい
→ mkmf.logをさがして確認
3.libxml2やlibxsltが見つからないよ
→ コンパイル済みのライブラリを頑張って探す、PATH環境変数にも追加
4.libxml2やlibxsltが見つからないよ(繰り返し
→ ああん、gem ... nokogiri の後ろに -- -with-xml2-dir パス -with-xslt-dir パス ってオプションをつけないといけないのか。
5. xml2.libやxslt.libが見つからないよ
→ ええと、--with-xml2libとか--with-xsltlibとかで、*.libの正しい名前を拡張子抜きで指定するのか、ややこしいな
6. exslt.libが見つからないよ
→ --with-exsltlib も要りました
7. iconvが(ry
→ ええと、これはどうしたらいいのかしら。適当に探して、PATHいじるのがめんどくさくなってきたので、libxml2のあるディレクトリに放り込む(まて
8. iconv.libが見つ(ry
→ (ry
9. でも何か変なエラーが出てビルドできないね
→ VisualStudio用のコマンドプロンプトを使わないと、cl.exeなどの環境が正しく設定されないっぽい
10.おめでとう、ビルドができたようなのでgemパッケージとしてインストールしたよ
→ まあ一応確認するか
11. ruby -e "require %q(nokogiri)"と打ったら、「プロシージャエントリポイントgzdirectが、、、」なエラーダイアログが
→ ううう、zlibの新しいのをとってきて。。。まだダイアログでるか、これは再起動しないとだめかしら <<<いまここ
# 2/7 追記
ああ、
> *. _MSC_VERのチェックに失敗する。VS2012なんだけど
> → Rubyのインストールディレクトリの奥にあるconfig.hの不等号を小なりに書き換え、
という定番ネタが抜けてました。
最後の関門の11.は、Rubyのインストールディレクトリのbinに古いzlib1.dllが入り込んでたというしょうもないオチで。
まあ、解決したのはしたけど、ねっとりと使うのはこれからだなあ・・・
のこぎりこわい More ログイン