MacでKH coderを動かす

やりたいこと

MacでKH coderを利用可能な状態にしたい

MacOS X Yosemite

解決法

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

chasenperlバンドルインストール

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はよく分からない。

結果

やめた。