MacでKH coderを動かす
やりたいこと
MacでKH coderを利用可能な状態にしたい
解決法
Macをやめる
もう少し噛み砕いて言うと、Windowsの仮想マシンを立ち上げて、Windows内でKH coderを利用する
やるべきこと
1 Virtual Boxを利用できる状態にする
特に詳しい説明とかいらないと思うので、リンクだけ
2 Modern.IEを落としてくる
Modern.IEのページに行き、仮想イメージをダウンロードする。
正直、どれでもいいが、私はIE10 on Win8を選んだ。
もちろん、PlatformはVirtualBoxにする。
以上。あとは、KH coderのページに行き、windowsパッケージをダウンロードし、展開して使うだけ。
仮想マシンのメモリは1G程度を割り当てたが、それでもそれなりに動いてくれた。
MacのネイティブでKH coderを使おうとしたまとめ
一応は試してみた。半日近くを費やして、解決できなかった結果、windowsを使うという判断に至っている。
何かの役に立つかもしれないので、残しておく。
chasenのインストール
./configure --with-libiconv=/usr/local make sudo make install
chasenのperlバンドルインストール
cd chasen-2.4.5/perl perl Makefile.PL LIBS="-L/usr/local/lib -lchasen -lstdc++" make sudo make install
※実は、KH coderはMecabも呼び出せるので、無理にchasenにする必要は無い。
あと、一般的に、HMMベースのChasenよりもCRFベースのMecabの方が、形態素解析の世界では、良い性能を示すことが報告されている。
libconvのインストール
文字コード変換ライブラリのlibconvをインストールする。
tar xvzf libiconv-1.10.tar.gz
./configure --prefix=/usr/local
make sudo make install
dartsのインストール
ダブルアレイのライブラリ、dartsをインストールする
tar xvzf darts-0.32.tar.gz ./configure make make check sudo make install
perlモジュールのインストール
KH coderはperlで構築されているので、perlモジュールをひたすらインストールしていく
cpanmを使うと便利。
sudo perl -MCPAN -e shell install Jcode
Tk.pmのインストールについて
Tk.pmのインストールには問題が起きやすい。
sudo perl -MCPAN -e shell install Tk
問題が発生
capanmを使ってインストールを試みる
sudo cpanm Tk
→エラーが出る
仕方がないので、ソースからコンパイルする
MAC0019-2150044% sudo perl Makefile.PL XFT=1 perl is installed in /System/Library/Perl/5.18/darwin-thread-multi-2level okay PPM for perl5.018002 Test Compiling config/signedchar.c Test Compiling config/Ksprintf.c Test Compiling config/tod.c Generic gettimeofday() Using -L/usr/X11R6/lib to find /usr/X11R6/lib/libX11.6.dylib Cannot find X include files via /usr/X11R6/include Cannot find X include files anywhere at ./myConfig line 332. Compilation failed in require at Makefile.PL line 36. BEGIN failed--compilation aborted at Makefile.PL line 38.
で、結局はダメだった。
macでインストールするチュートリアルを見つけたので、従ってインストールをしてみるが、失敗する。
具体的には、makeで次のエラーがでる
cd pTk && make DEFINE="" LIBPERL_A="libperl.a" LINKTYPE="dynamic" OPTIMIZE="-Os" PREFIX="/usr/local" PASTHRU_DEFINE="" PASTHRU_INC="" Unrecognized switch: --center (-h will show valid options). make[1]: *** [manifypods] Error 255 make: *** [subdirs] Error 2
解決法
githubからソースもってきて、compileする。
cloneして、perl MakeFile.PL; make; sudo make install
でおしまいだった。
どうやら、Yosemite特有のバグだったらしい。ここに報告がされている。
残りのperlモジュールもインストールしていく
sudo cpanm DBD::CSV Spreadsheet::WriteExcel sudo cpanm Unicode::String sudo cpanm DBD::mysql sudo cpanm Net::Telnet sudo cpanm YAML sudo cpanm Spreadsheet::ParseExcel sudo cpanm Spreadsheet::XLSX sudo cpanm Clipboard sudo cpanm Statistics::Lite sudo cpanm Algorithm::NaiveBayes
が、
sudo cpam Text::Iconv
で、こけた。
libiconvへのパスを求められる。
LIBSとINCをオプションで指定しても、やっぱりパスを求められる。
ソースを読んだが、perlはよく分からない。
結果
やめた。