[groonga-dev,02402] Re: Rroonga 4.0.2のWindows版が動かない

アーカイブの一覧に戻る

Kouhei Sutou kou****@clear*****
2014年 6月 4日 (水) 13:27:26 JST


須藤です。

In <CAET2rA-8i4=A3CUk****@mail*****>
  "[groonga-dev,02398] Rroonga 4.0.2のWindows版が動かない" on Wed, 4 Jun 2014 00:30:52 +0900,
  Masafumi Yokoyama <myoko****@gmail*****> wrote:

> Rroonga 4.0.2 x86-mingw32が動きませんでした(requireするとLoadErrorで落ちる)。
> 原因はlibwinpthread-1.dllが見つからないためです。
> 
> https://github.com/ranguba/rroonga/pull/17
> 
> が、開発者の人に見てもらったところ、これはGroonga側で対応する
> べき問題のようです。具体的には、WindowsだとpthreadなAPIを使わ
> ないで動くのが期待している挙動のようです。

昨日のGroongaドキュメント読書会2(*)でも、あれ、Windows用の
zip動かない。。。って発覚したのですが、それも同じ問題ですね!

(*) http://groonga.doorkeeper.jp/events/11834

開発者の人がさらに見たところ、新し目のMinGW-w64(*)では
libgcc_s_sjlj-1.dllがlibwinpthread-1.dllに依存するようになっ
ていました。

  % objdump -p bin/libgcc_s_sjlj-1.dll grep -i winpthread
  	DLL 名: libwinpthread-1.dll

なので、GroongaがpthreadなAPIを使っていないにし
てもlibwinpthread-1.dllをバンドルしないといけません。

(*) 少なくとも↓(4.9.0)では。

    % x86_64-w64-mingw32-gcc --version
    x86_64-w64-mingw32-gcc (GCC) 4.9.0
    Copyright (C) 2014 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> というわけですので、Windows版を使われていて4.0.2が動かなくて
> 困っている方がおりましたら、とりあえず4.0.1を使うのがいいかも
> しれません。(vendor/local/binフォルダーにlibwinpthread-1.dll
> をコピーすれば、動くことは動きます。)

というわけですので、Windows版のGroongaの.zipとインストーラー
はlibwinpthread-1.dllを含むようにしました。(同じファイル名
で上書きアップロードしているので注意。)

また、↑のアップロードしなおした.zipをバンドルしたRroonga
4.0.3をリリースしたので、同じ問題にハマる人はいないはずです!


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaサポート:
  http://groonga.org/ja/support/
パッチ採用:
  http://www.clear-code.com/recruitment/
コードリーダー育成支援:
  http://www.clear-code.com/services/code-reader/




groonga-dev メーリングリストの案内
アーカイブの一覧に戻る