和布蕪他インストール の変更点 - アールメカブ

アールメカブ


和布蕪他インストール の変更点


Linux あるいは Mac OS X で[[MeCab(和布蕪):http://mecab.sourceforge.net/]]をインストール.

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

#contents

* MeCab(和布蕪) [#ldfd1c77]
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(南瓜)をインストールするならば [#q96103df]

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

** TinySVM [#o1ebf23c]
次にTinySVM をインストール http://chasen.org/~taku/software/TinySVM/
 tar zxf TinySVM-0.09.tar.gz
 cd TinySVM-0.09/
  ./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)"

この情報は[[ここを参考:http://cl.cs.okayama-u.ac.jp/study/installmemo.html]]にした

** 飲茶 [#edfab0eb]
そして飲茶 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> を追加

// http://unicus.jp/wp/archives/39

** CRF++ [#i5384093]
CRF++をインストール http://crfpp.sourceforge.net/

 tar zxf CRF++-0.51.tar.gz 
 cd CRF++-0.51
 ./configure
 make
 sudo make install
 sudo ldconfig
** 南瓜 Cabocha [#b27ae240]
ようやく南瓜 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
//make check # Emacs 上のシェルでは化けまくっていたが
なお古い南瓜 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
でしのげばよい。


[[ここ:http://gentlemachine.com/mt/archives/cat1/]]などでも話題になっている模様。内容については未確認.以下はそのページの要約.

 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するだけ。

[[海外サイトにこんなの:http://vaelen.org/2009/09/24/installing-cabocha-in-mac-osx-with-macports/]] があった

[[こんなページ:http://www.mlab.im.dendai.ac.jp/~yamada/ir/SyntacticAnalyzer/CaboCha.html]]も

//面倒ではあったが,速度は異様に早い.

* ubuntu 8.10 では [#h4488fb8]
コンパイルを実行する前に g++-4.2をインストールした上で
 export GCC=g++-4.2
 export CC=gcc-4.2
を実行しておく必要があります.