Kouhei Sutou
kou****@clear*****
2012年 4月 10日 (火) 22:16:51 JST
須藤です。 In <CA+vpKio_JsWZGSEfvd_7xUtc****@mail*****> "[groonga-dev,00762] Re: rroongaをWindows環境でもビルド済みgemを使わずにインストール" on Tue, 10 Apr 2012 11:01:06 +0900, ongaeshi <ongae****@gmail*****> wrote: > Win7(64bit) + Ruby1.8.7(ActiveScriptRuby,32bit) でも上手く動きませんでした。 あぁ、ActiveScriptRubyですか。 RubyInstallerのRuby 1.8だとWindows 7 (64bit) + Ruby 1.8.7で も動いたんですけどねぇ。。。 ActiveScriptRubyでもMSVCRT.dllなのでMinGWでクロスコンパイル したやつで大丈夫なはずなんですけど。。。 > OSとRubyのバージョンの組み合わせで動いたり動かなかったりするのでしょうか? うーん、ビルドの仕方的にはどれでも動くはずなんですけど。。。 VC++ 6くらいでビルドされたRubyまでは動きますけど、それより後 のVC++でビルドされたRubyだと動かないと思います。新しいVC++で ビルドされたRubyはMSVCRT.dll(たぶん MicroSoftVisualC++RunTimeの略)じゃなくてMSVCR80.dllとかを使っ ています。一方、MinGWでビルドしたやつはMSVCRT.dllを使うので、 競合してしまうんです。MinGWでも-lmsvcr80とかすれば MSVCR80.dllを使ったバイナリを作れそうな気がするんですけど、 うまくいったことはないです。。。 あ、ただ、今、世の中に出回っているやつでVC++でビルドされたも のは古いバージョンのやつがほとんどです。最新のRubyを使えるの は能楽堂が唯一じゃないかと思います。 http://www.artonx.org/data/nougakudo/ > $ gmilk test > C:/ruby/lib/ruby/gems/1.8/gems/milkode-0.6.1/lib/milkode/findgrep/findgrep.rb:512: > [BUG] rb_gc_mark(): unknown data type 0x2a(0x4c782c0) corrupted object > ruby 1.8.7 (2010-12-23 patchlevel 330) [i386-mswin32] > > This application has requested the Runtime to terminate it in an unusual way. > Please contact the application's support team for more information. あ、これは、基本的な機能は動くけど、GCのときにSEGVするってこ とですか?基本的な機能も動かない状態かと思っていました。 > 手元で実験しているのですが、WinXP(32bit)+Ruby1.9.3(+DevKit)の組み合わせでは上手く動きました。 > もう少し、いくつかの環境で試してみます。 > https://github.com/ongaeshi/rroonga/commit/0b6f07caf2435dc859b3b1c6e6a8d1d42d3446bb おぉ!うまく動いたらpushしちゃってください! -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) プログラミングが好きなソフトウェア開発者を募集中: http://www.clear-code.com/recruitment/