[groonga-dev,00767] Re: rroongaをWindows環境でもビルド済みgemを使わずにインストール

Back to archive index

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/




groonga-dev メーリングリストの案内
Back to archive index