和布蕪他インストール のバックアップ(No.23) - アールメカブ

アールメカブ


和布蕪他インストール のバックアップ(No.23)


Linux あるいは Mac OS X でMeCab(和布蕪)をインストール.

さらに CaBoCha (南瓜,カボチャ)をインストール.こっちは、結構大変

_ MeCab?(和布蕪)

MeCab? 和布蕪 http://mecab.sourceforge.net/ をインストール

  • Mac OS X 10.5 には,MeCab? がデフォルトで入っているようですが,これを使うと文字化けすることがあります.
    $ ls /usr/lib/libmecab.*
    /usr/lib/libmecab.1.0.0.dylib	/usr/lib/libmecab.dylib
    /usr/lib/libmecab.1.dylib
    $ ls /usr/include/mecab*
    /usr/include/mecab.h
    $ ls -CFR /usr/lib/mecab/dic/apple

以下の手順で新規に MeCab? をインストールする場合.(/usr/local/bin と /usr/local/lib にインストールされるので,すでにmecabが入っていても,上書きされることはありません)文字コードとして utf8 を指定(ハイフンをはさまない)

$ tar zxf mecab-0.98.tar.gz
$ cd mecab-0.98
$ ./configure --with-charset=utf8
$ make
$ sudo make install
$ sudo ldconfig

sudo ldconfig を実行し,libmecab.so を登録しておく.

和布蕪 MeCab? の辞書。文字コードとして utf-8 を指定(ハイフンをはさむ)

# $ export PATH=$PATH:/usr/local/bin が必要な場合もある
$ tar zxf mecab-ipadic-2.7.0-20070****.tar.gz
$ cd mecab-ipadic-2.7.0-20070****
$ ./configure --with-charset=utf-8
$ make
# 以下のメッセージは特に気にする必要はありません
done!
echo To enable dictionary, rewrite /usr/local/etc/mecabrc as
 \"dicrc = /usr/local/lib/mecab/dic/ipadic\" 
To enable dictionary, rewrite /usr/local/etc/mecabrc as
"dicrc = /usr/local/lib/mecab/dic/ipadic"
# インストールを完了させます
$ sudo make install

_ CaBoCha(南瓜)をインストールするならば

MeCab? を上の手順でインストールしておきます.

_ TinySVM

次にTinySVM をインストール http://chasen.org/~taku/software/TinySVM/

 ./configure 
 make
 make check
 sudo make install
 sudo ldconfig 

次のようなエラーが出た場合(特にMac OS X)

c++ -DHAVE_CONFIG_H -I. -I. -I.. -Wall -O9 -funroll-all-loops -
   finline -ffast-math -mieee-fp -c param.cpp -fno-common -DPIC -o
 .libs/param.lo
./getopt.h:131: error: declaration of C function 'int getopt()' 
conflicts with
 /usr/include/unistd.h:454: error: previous declaration 'int 
      getopt(int, char* const*, const char*)' here

./src/getopt.hの131行目を以下のように修正

/* extern int getopt (); */ /* こちらがオリジナル */
extern int getopt (int argc, char *const *argv, const char *shortopts);

さらに./libtool というスクリプトで archive_cmds から始まる行を探し, その行の \$CC を g++ に変更

# Commands used to build and install a shared archive.
archive_cmds="g++ \$(test .\$module = .yes && echo -bundle || 
 echo -dynamiclib) \$allow_undefined_flag -o \$lib \$libobjs \
$deplibs\$linkopts -install_name \$rpath/\$soname \$(test -n 
\\"\$verstring\\\" -a x\$verstring != x0.0 && echo \$verstring)"

この情報はここを参考にした

_ 飲茶

そして飲茶 YamCha? http://chasen.org/~taku/software/yamcha/

tar zxf yamcha-0.33.tar.gz
cd yamcha-0.33
./configure 
make
make check
sudo make install
sudo ldconfig

次のようなエラーが出た場合(特にMac OS X)

configure: error: svm_learn (TinySVM or SVM^light) required for training

configureを次のように実行します。

./configure --with-svm-learn=/usr/local/bin

次のようなエラーが出た場合

param.cpp:102: error: 'strlen' was not declared in this scope
param.cpp:103: error: 'strncmp' was not declared in this scope

src/common.h に #include <string.h> を追加

mkdarts.cpp:85: error: ‘atoi’ is not a member of ‘std’

libexec/mkdarts.cpp に #include <cstdlib> を追加

_ CRF++

CRF++をインストール http://crfpp.sourceforge.net/

tar zxf CRF++-0.51.tar.gz 
cd CRF++-0.51
.configure
make
sudo make install
sudo ldconfig

_ 南瓜 Cabocha

ようやく南瓜 Cabocha http://sourceforge.net/projects/cabocha/

bzip2 -cd cabocha-0.60pre2.tar.bz2 | tar xf -
cd cabocha-0.60pre2
# ./configure --with-charset=UTF8 
./configure --with-charset=utf-8 
 make
 sudo make install
 sudo ldconfig

なお古い南瓜 http://chasen.org/~taku/software/cabocha/ はutf-8に対応していません.詳しくは日録2007_10月

  • メモ
./configure with-morphological-analyzer=mecab disable-pke 

は不要と思われる.

  • Snow Leopardではmakeでエラーが起こる。 libconvのリンクがうまくいかないらしい。
    LIBS=-liconv ./configure --with-charset=utf8
    でしのげばよい。

ここなどでも話題になっている模様。内容については未確認.以下はそのページの要約.

src/ucs.cpp の90行目付近に関数定義を追加。
中身はiconv.hからコピペ。
(前略)
namespace CaboCha { /* ここは元からあるところ */
/* ここから追記 */
extern "C"{
extern iconv_t libiconv_open (const char* tocode, const char*  fromcode);
extern size_t libiconv (iconv_t cd,  char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);
extern int libiconv_close (iconv_t cd);
}
/* ここまで追記 */
(以下略)
んで、iconv_open(), iconv_close, iconv() をそれぞれ
      libiconv_open, libiconv_close, libiconv 
に書き換えてmakeするだけ。

海外サイトにこんなの があった

こんなページ

_ ubuntu 8.10 では

コンパイルを実行する前に g++-4.2をインストールした上で

export GCC=g++-4.2
export CC=gcc-4.2

を実行しておく必要があります.