cygwinでmecab-rubyを導入.

cygwinmecab-rubyをいれるとはまるので修正方法.


http://wiki.tokor.org/index.php?Cygwin%A4%C7%A4%CEMeCab-0.98%A4%CE%A5%D3%A5%EB%A5%C9%A4%C8mecab-ruby%A4%CE%C6%B3%C6%FE%A1%A1-%A1%A1%A5%C4%A1%BC%A5%EB%B7%
を基本的に参考にさせてもらいました。

(1)mecabをインストール
(2)mecab-rubyのソースをとってきて、解凍。フォルダに移動
(3)ruby extconf.rb -> make でコケル
エラーの例
MeCab_wrap.o:MeCab_wrap.cpp:(.text+0x1fae): `MeCab::createTagger(char const*)'
とかがでる。
(4)下のリンクを参考に以下のコードをextconf.rbに追加

...(略)...
CFLAGS += ' ' + `#{mecab_config} --cflags`.chomp
LDFLAGS = '-L/usr/local/lib'
LIBS += ' -lmecab'
have_header('mecab.h') && create_makefile('MeCab')
<<
http://wiki.tokor.org/index.php?Cygwin%A4%C7%A4%CEMeCab-0.98%A4%CE%A5%D3%A5%EB%A5%C9%A4%C8mecab-ruby%A4%CE%C6%B3%C6%FE%A1%A1-%A1%A1%A5%C4%A1%BC%A5%EB%B7%
(5)ruby extconf.rb -> make でコケル それでもコケル
/usr/local/lib/libmecab.a(iconv_utils.o):iconv_utils.cpp:(.text+0x4c): `libiconv_close' に対する定義されていない参照です
/usr/local/lib/libmecab.a(iconv_utils.o):iconv_utils.cpp:(.text+0x4c): 再配置がオーバーフローしないように切り詰められました: R_X86_64_PC32 (未定義シンボル `libiconv_close' に対して)
/usr/local/lib/libmecab.a(iconv_utils.o):iconv_utils.cpp:(.text+0xfc): `libiconv_open' に対する定義されていない参照です
/usr/local/lib/libmecab.a(iconv_utils.o):iconv_utils.cpp:(.text+0xfc): 再配置がオーバーフローしないように切り詰められました: R_X86_64_PC32 (未定義シンボル `libiconv_open' に対して)
(6)iconvがないといわれているので、そのリンクを追加

...(略)...
$CFLAGS += ' ' + `#{mecab_config} --cflags`.chomp
$LDFLAGS = '-L/usr/local/lib'
$LIBS += ' -lmecab'
$LIBS += ' -liconv'
have_header('mecab.h') && create_makefile('MeCab')

(7)ruby extconf.rb -> make->make install  これでインストールできた
linking shared-object MeCab.so

なんか前のブログに書いてあった。
http://d.hatena.ne.jp/arupaka-_-arupaka/20140812/1407818680