y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

HyperEstraierのWindows版をソースからリビルドする

しんどかった。
手順を示してくれる親切なサイトがあっても、たっぷり2日を使ってしまった。
Hyper EstraierのMinGW上での再ビルド ←スペシャルサンクス
さらにそのリファレンスである
HyperEstraierのビルド
Mecab周りで戸惑っていて見つけた情報←サンクス

■ファイル一覧
・開発環境
MinGW-5.1.6.exe
MSYS-1.0.11.exe
・ライブラリ
libiconv-1.13-mingw32-bin.tar.gz
libiconv-1.13-mingw32-dev.tar.gz
libiconv-1.13-mingw32-dll-2.tar.gz
mingw-libgnurx-2.5.1-bin.tar.gz
mingw-libgnurx-2.5.1-dev.tar.gz
pthreads-w32-2-8-0-release.exe
zlib123-dll.zip
UnxUtils.zip
d2txt136.zip
・ソフトウェア
hyperestraier-1.4.13.tar.gz
qdbm-1.8.77.tar.gz
mecab-0.98.tar.gz
mecab-ipadic-2.7.0-20070801.tar.gz

■手順
Hyper EstraierのMinGW上での再ビルドで書かれている内容をほぼトレースすれば行けるはずなのだが、ちょっとだけ違う点があった。
zlib123-dllの部分で
> zlib123-dllは、ファイルのコピー後、MSYSのコンソールを起動し、USAGE.txtの記述にしたがって、
> cd /usr/local
> dlltool.exe -D bin/zlib1.dll -d lib/zlib.def -l lib/libzdll.a
>

※これをしても、ファイルサイズ0のlibzdll.aが出来上がってしまう。

    • >ではなくて

lib/zdll.libをlib/libzdll.aにリネームして使う。

2' Copy the supplied library file "zdll.lib" to "libzdll.a":
cp lib/zdll.lib lib/libzdll.a

JavaRubyバインディングを有効にしたままでビルドしようとすると、Java関連のソースコードも要求されるので、Makefileの該当部分をコメントアウトした。

HyperEstraierのMakefile.in

# cd javanative && ./configure && make win
# cd javapure && ./configure && make
# cd rubypure && ./configure && make

〜中略

# cp -Rf javanative/estraier.jar javanative/jestraier.dll $(PACKAGE)
# cp -Rf javapure/estraierpure.jar $(PACKAGE)
# cp -Rf rubypure/estraierpure.rb rubypure/estcall.rb $(PACKAGE)

qdbm → Mecab → MecabDic → HyperEstraier の順で、ビルド/インストール

hyperestraier-1.4.13-win32.zipが出来た。
やった