cygwin上にmecab&mecab-rubyをインストール
少し苦労したけど、以下の手順でcygwin上にインストール可能です。
mecabは現時点で最新の配布版0.98pre20.98pre30.98を使ってます。
(5月31日に0.98pre3が出たようですが、下記のエラーや対策は同じでした)
(追記: 0.98対象に更新。mecab-rubyのinstall方法を修正)
mecabインストール
wget http://nchc.dl.sourceforge.net/sourceforge/mecab/mecab-0.98.tar.gz tar zxf mecab-0.98.tar.gz cd mecab-0.98pre3 ./configure --with-charset=utf-8 CPPFLAGS=-DNOMINMAX LIBS=-liconv make make install
CPPFLAGとLIBSは、cygwin固有のビルドエラーへの対策で入れてます。以下は、そのエラーの解消法です。
補足1: CPPFLAG対策の不要化
src/common.h中の
#include <sstream> #ifdef __CYGWIN__ #define _GLIBCXX_EXPORT_TEMPLATE #endif
の部分を
#ifdef __CYGWIN__ #define _GLIBCXX_EXPORT_TEMPLATE #endif #include <sstream>
に修正する(sstreamの前で定義しないと無意味)
補足2: LIBS対策の不要化
configure.in中の
AC_CHECK_LIB(iconv,iconv_open)
の部分を
AC_CHECK_LIB(iconv,libiconv_open) AC_CHECK_LIB(iconv,iconv_open)
に変更後、コマンドラインで
libtoolize -cf aclocal --force autoreconf
を実行する(cygwinのlibiconvではiconv_openはマクロでlibiconv_openに置換されるようになってるため、そのシンボルで追加が必要)。
この二つの修正を行っていれば
./configure --with-charset=utf-8
make
make install
でインストール可能になります。
ipadicインストール
wget http://ncu.dl.sourceforge.net/sourceforge/mecab/mecab-ipadic-2.7.0-20070801.tar.gz tar zxf mecab-ipadic-2.7.0-20070801.tar.gz cd mecab-ipadic-2.7.0-20070801 ./configure --with-charset=utf-8 make make install
mecab-rubyインストール(gem利用)
wget http://nchc.dl.sourceforge.net/sourceforge/mecab/mecab-ruby-0.98.tar.gz tar zxf mecab-ruby-0.98.tar.gz cd mecab-ruby-0.98 gem build mecab-ruby.gemspec gem install mecab-ruby-0.97.gem -- --with-opt-libs=/usr/local/lib
(gem installでは、--以降で、extconf.rbオプションを指定しています。)
付属のtest.rbが実行できれば成功です。
ruby -rubygems test.rb
gemを使わない場合は
ruby extconf.rb make make install
アップグレード時の注意
新しいファイルをビルドする前に、古いバージョンのディレクトリ上で
make uninstall
しておき、上記のようにビルドします。
gem uninstall mecab-ruby
で古いバージョンを消してから、gem installします。