さくら共用サーバーにcabochaをインストールした際の覚書。
cabochaのインストールや利用方法についてはこちら
前提として、mecab0.97が入っている。
インストール場所は、/home/username/local とする。
1.CRF++をインストールする
—————————————————-
//ダウンロード。「https」だとエラーが出る。
wget http://crfpp.googlecode.com/files/CRF%2B%2B-0.58.tar.gz
tar xzvf CRF++-0.58.tar.gz //解凍
//「$HOME」が「~(チルダ)」だとエラーが出る。
./configure –prefix=$HOME/local
make install //インストール。
—————————————————-
2.cabochaをインストールする
最新版であった「cabocha-0.67」をダウンロードした。
MeCab (0.993以降)が必要と記述されていたが、構わず進めた。
—————————————————-
wget http://cabocha.googlecode.com/files/cabocha-0.67.tar.bz2
—————————————————-
続けて、以下のコマンド。
—————————————————-
tar xzvf cabocha-0.67.tar.bz2
cd cabocha-0.67
./configure –prefix=$HOME/local –with-charset=utf8 –enable-utf8-only LDFLAGS=”-L$HOME/local/lib” CPPFLAGS=”-I$HOME/local/include” –with-mecab-config=$HOME/local/bin/mecab-config
make
make install
—————————————————-
すると、make installのところでエラー発生!
エラー内容
—————————————————-
morph.cpp: In member function ‘virtual bool CaboCha::MorphAnalyzer::parse(CaboCha::Tree*) const’:
morph.cpp:197: error: ‘mecab_lattice_new’ was not declared in this scope
morph.cpp:203: error: ‘MECAB_ALLOCATE_SENTENCE’ was not declared in this scope
morph.cpp:203: error: ‘mecab_lattice_add_request_type’ was not declared in this scope
morph.cpp:207: error: ‘mecab_lattice_set_sentence2’ was not declared in this scope
morph.cpp:209: error: ‘mecab_parse_lattice’ was not declared in this scope
morph.cpp:211: error: ‘mecab_lattice_strerror’ was not declared in this scope
morph.cpp:214: error: ‘mecab_lattice_get_bos_node’ was not declared in this scope
morph.cpp: In static member function ‘static void CaboCha::MorphAnalyzer::clearMeCabLattice(mecab_lattice_t*)’:
morph.cpp:223: error: ‘mecab_lattice_clear’ was not declared in this scope
morph.cpp: In static member function ‘static void CaboCha::MorphAnalyzer::deleteMeCabLattice(mecab_lattice_t*)’:
morph.cpp:228: error: ‘mecab_lattice_destroy’ was not declared in this scope
*** [morph.lo] Error code 1
Stop in /home/username/local/cabocha-0.67/src.
*** [all-recursive] Error code 1
Stop in /home/username/local/cabocha-0.67.
*** [all] Error code 1
Stop in /home/username/local/cabocha-0.67.
%
—————————————————-
エラー内容の詳細は不明だが、mecabとcabochaのバージョンが合ってないことがエラー原因と当たりをつけて、cabochaのバージョンを下げてリトライ。
(後日、新しい最新のmecab入りにcabocha-0.67を試みたところ、エラーも出ずインストールできた)
cabocha0.60のインストール
—————————————————-
wget http://cabocha.googlecode.com/files/cabocha-0.60.tar.gz
tar xzvf cabocha-0.60.tar.gz
cd cabocha-0.60
./configure –prefix=$HOME/local –with-charset=utf8 –enable-utf8-only LDFLAGS=”-L$HOME/local/lib” CPPFLAGS=”-I$HOME/local/include” –with-mecab-config=$HOME/local/bin/mecab-config
(make) ← 実行コマンドを読み返したが抜けていた・・・
make install
—————————————————-
あっさりインストールできた。
cabochaを実行
—————————————————-
/home/username/local/bin/cabocha
—————————————————-
※パスも通しておく。パスが通っているにもかかわらずcabochaが実行できない場合は、サーバーに再ログインする。
テキストファイルに書いたpythonスクリプトからcabochaをimportを試みるとエラーになる場合は、こちら
mecabをインストールしたら、これもやる。
—————————————————-
mecabで半角記号が名詞,サ変接続になるのを解決する
—————————————————-