メールをbsfilterでフィルタリングしているのだけど,このところ同じようなSPAMメールが毎日何件も来るようになった.そこでbsfilterの動きをチェックしたらkakasiが入ってないことが判明.去年,サーバーを移転した時に入れるのを忘れたみたいだ.
bsfilterはベイズ統計を使ってSPAMかHAMかを判定する日本製フィルター.kakasiは日本語を分かち書きにするツールで,まずはメールを分かち書きにし,出てくる単語とその頻度から判定する.
そこでkakasiをインストールする
wget http://kakasi.namazu.org/stable/kakasi-2.3.6.tar.gz
gzip -dc kakasi-2.3.5.tar.gz | tar xvf -
% cd kakasi-2.3.5
% ./configure
ところがここで
configure: error: can not use EUC-JP or UTF-8 enc
oding on iconv
というエラーを出してconfigureが終わってしまう.config.logには
undefined reference to `libiconv'
undefined reference to `libiconv_open'
undefined reference to `libiconv_close'
と残っている.さらに調べたところ
PHP5がビルドできない。libiconvが原因のようだ。→ 解決。
というブログを発見.そのリンク先
glibcを使うかlibiconvを使うかの判定処理が2系統あるのですが、一方がiconv.hをサーチして判定する処理になっており、しかも/usr/local/includeが最初にサーチされるようになっていました。で。ここに、libiconvと一緒にインストールされたiconv.hが残ってたんですね(笑)。
https://oshiete.goo.ne.jp/qa/2149566.html
つまり、/usr/local/include/iconv.hを削除することで誤判定がなくなり、見事解決しました。
ということ.記事はPHPについてだけど,エラーメッセージが同じなので同じ原因と考えて良いだろう.
su
mv /usr/local/include/iconv.h /usr/local/include/_iconv.h
./configure
make
make install
とやって無事にkakasiのインストールが終了.
ここで試しにkakasiのINSTALL-jaを変換してみる.
cat INSTALL-ja | nkf
基本的なインストール方法
========================
以下に記したのは、一般的なインストールの方法です。
たとえば-wオプションで分かち書き,-outf8でutf8出力を指定すると
cat INSTALL-ja | kakasi -w -outf8
基本的 な インストール 方法
========================
以下に 記し たのは 、 一般的 な インストール の 方法 です 。
-JHを付けるとひらがなに変換する.
cat INSTALL-ja | kakasi -JH -outf8
きほんてきなインストールほうほう
========================
いかにしるしたのは、いっぱんてきなインストールのほうほうです。