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/