mecabをインストール後、libmemcab.so.1でerrorがでた場合の対処方法

mecabをインストール後、libmemcab.so.1でerrorがでた場合の対処方法について書きます。

# mecab
mecab: error while loading shared libraries: libmecab.so.1: cannot open shared object file: No such file or directory


と出ます。ふむふむ、ldconfigで共有ライブラリを認識させます。


ldconfig :共有ライブラリを認識させる

プログラムをインストール後に実行した時、使用例に示すようなエラーをおこすことがあります。

これは、必要なライブラリがシステムに認識されていない為に発生します。

共有ライブラリを認識させます。

# ldconfig

これで認識完了です。

このあとは辞書をインストールしていきます。



ipadicのインストール

ではmecabをコマンドで実施してみます。

mecab
tagger.cpp(151) [load_dictionary_resource(param)] param.cpp(71) [ifs] no such file or directory: /usr/local/lib/mecab/dic/ipadic/dicrc

ipadicのインストール

ipadicがないとでるので、インストールしてみましょう。

ダウンロード
# wget http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz/download
--2010-12-29 16:01:02--  http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz/download
Resolving sourceforge.net... 216.34.181.60
Connecting to sourceforge.net|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://downloads.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz?r=&ts=1293606062&use_mirror=jaist [following]
--2010-12-29 16:01:02--  http://downloads.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz?r=&ts=1293606062&use_mirror=jaist
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz [following]
--2010-12-29 16:01:03--  http://jaist.dl.sourceforge.net/project/mecab/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz
Resolving jaist.dl.sourceforge.net... 150.65.7.130, 2001:200:141:feed::feed
Connecting to jaist.dl.sourceforge.net|150.65.7.130|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12208105 (12M) [application/x-gzip]
Saving to: `mecab-ipadic-2.7.0-20070801.tar.gz'

100%[======================================>] 12,208,105  10.5M/s   in 1.1s

2010-12-29 16:01:04 (10.5 MB/s) - `mecab-ipadic-2.7.0-20070801.tar.gz' saved [12208105/12208105]
ipadicを解凍します。
# tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz

mecab-ipadic-2.7.0-20070801/
mecab-ipadic-2.7.0-20070801/README
mecab-ipadic-2.7.0-20070801/AUTHORS
mecab-ipadic-2.7.0-20070801/COPYING
mecab-ipadic-2.7.0-20070801/ChangeLog
mecab-ipadic-2.7.0-20070801/INSTALL
mecab-ipadic-2.7.0-20070801/Makefile.am
mecab-ipadic-2.7.0-20070801/Makefile.in
mecab-ipadic-2.7.0-20070801/NEWS
mecab-ipadic-2.7.0-20070801/aclocal.m4
mecab-ipadic-2.7.0-20070801/config.guess
mecab-ipadic-2.7.0-20070801/config.sub
mecab-ipadic-2.7.0-20070801/configure
mecab-ipadic-2.7.0-20070801/configure.in
mecab-ipadic-2.7.0-20070801/install-sh
mecab-ipadic-2.7.0-20070801/missing
mecab-ipadic-2.7.0-20070801/mkinstalldirs
mecab-ipadic-2.7.0-20070801/Adj.csv
mecab-ipadic-2.7.0-20070801/Adnominal.csv
mecab-ipadic-2.7.0-20070801/Adverb.csv
mecab-ipadic-2.7.0-20070801/Auxil.csv
mecab-ipadic-2.7.0-20070801/Conjunction.csv
mecab-ipadic-2.7.0-20070801/Filler.csv
mecab-ipadic-2.7.0-20070801/Interjection.csv
mecab-ipadic-2.7.0-20070801/Noun.adjv.csv
mecab-ipadic-2.7.0-20070801/Noun.adverbal.csv
mecab-ipadic-2.7.0-20070801/Noun.csv
mecab-ipadic-2.7.0-20070801/Noun.demonst.csv
mecab-ipadic-2.7.0-20070801/Noun.nai.csv
mecab-ipadic-2.7.0-20070801/Noun.name.csv
mecab-ipadic-2.7.0-20070801/Noun.number.csv
mecab-ipadic-2.7.0-20070801/Noun.org.csv
mecab-ipadic-2.7.0-20070801/Noun.others.csv
mecab-ipadic-2.7.0-20070801/Noun.place.csv
mecab-ipadic-2.7.0-20070801/Noun.proper.csv
mecab-ipadic-2.7.0-20070801/Noun.verbal.csv
mecab-ipadic-2.7.0-20070801/Others.csv
mecab-ipadic-2.7.0-20070801/Postp-col.csv
mecab-ipadic-2.7.0-20070801/Postp.csv
mecab-ipadic-2.7.0-20070801/Prefix.csv
mecab-ipadic-2.7.0-20070801/Suffix.csv
mecab-ipadic-2.7.0-20070801/Symbol.csv
mecab-ipadic-2.7.0-20070801/Verb.csv
mecab-ipadic-2.7.0-20070801/char.def
mecab-ipadic-2.7.0-20070801/feature.def
mecab-ipadic-2.7.0-20070801/left-id.def
mecab-ipadic-2.7.0-20070801/matrix.def
mecab-ipadic-2.7.0-20070801/pos-id.def
mecab-ipadic-2.7.0-20070801/rewrite.def
mecab-ipadic-2.7.0-20070801/right-id.def
mecab-ipadic-2.7.0-20070801/unk.def
mecab-ipadic-2.7.0-20070801/dicrc
mecab-ipadic-2.7.0-20070801/RESULT
configureします。utf8に設定します。
# ./configure --with-charset=utf8
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal-1.4... found
checking for working autoconf... found
checking for working automake-1.4... found
checking for working autoheader... found
checking for working makeinfo... found
checking for a BSD-compatible install... /usr/bin/install -c
checking for mecab-config... /usr/local/bin/mecab-config
configure: creating ./config.status
config.status: creating Makefile
makeします。
# make
/usr/local/libexec/mecab/mecab-dict-index -d . -o . -f EUC-JP -t utf8
reading ./unk.def ... 40
emitting double-array: 100% |###########################################|
reading ./Noun.adjv.csv ... 3328
reading ./Noun.name.csv ... 34202
reading ./Noun.place.csv ... 72999
reading ./Prefix.csv ... 221
reading ./Noun.csv ... 60477
reading ./Noun.proper.csv ... 27327
reading ./Noun.adverbal.csv ... 795
reading ./Others.csv ... 2
reading ./Suffix.csv ... 1393
reading ./Verb.csv ... 130750
reading ./Noun.number.csv ... 42
reading ./Adverb.csv ... 3032
reading ./Noun.demonst.csv ... 120
reading ./Filler.csv ... 19
reading ./Auxil.csv ... 199
reading ./Postp.csv ... 146
reading ./Adnominal.csv ... 135
reading ./Adj.csv ... 27210
reading ./Symbol.csv ... 208
reading ./Noun.org.csv ... 16668
reading ./Noun.nai.csv ... 42
reading ./Postp-col.csv ... 91
reading ./Noun.verbal.csv ... 12146
reading ./Interjection.csv ... 252
reading ./Noun.others.csv ... 151
reading ./Conjunction.csv ... 171
emitting double-array: 100% |###########################################|
reading ./matrix.def ... 1316x1316
emitting matrix      : 100% |###########################################|

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"
インストールします。
# make install
make[1]: Entering directory `/usr/local/src/mecab-ipadic-2.7.0-20070801'
make[1]: Nothing to be done for `install-exec-am'.
/bin/sh ./mkinstalldirs /usr/local/lib/mecab/dic/ipadic
mkdir /usr/local/lib/mecab
mkdir /usr/local/lib/mecab/dic
mkdir /usr/local/lib/mecab/dic/ipadic
 /usr/bin/install -c -m 644 ./matrix.bin /usr/local/lib/mecab/dic/ipadic/matrix.bin
 /usr/bin/install -c -m 644 ./char.bin /usr/local/lib/mecab/dic/ipadic/char.bin
 /usr/bin/install -c -m 644 ./sys.dic /usr/local/lib/mecab/dic/ipadic/sys.dic
 /usr/bin/install -c -m 644 ./unk.dic /usr/local/lib/mecab/dic/ipadic/unk.dic
 /usr/bin/install -c -m 644 ./left-id.def /usr/local/lib/mecab/dic/ipadic/left-id.def
 /usr/bin/install -c -m 644 ./right-id.def /usr/local/lib/mecab/dic/ipadic/right-id.def
 /usr/bin/install -c -m 644 ./rewrite.def /usr/local/lib/mecab/dic/ipadic/rewrite.def
 /usr/bin/install -c -m 644 ./pos-id.def /usr/local/lib/mecab/dic/ipadic/pos-id.def
 /usr/bin/install -c -m 644 ./dicrc /usr/local/lib/mecab/dic/ipadic/dicrc
make[1]: Leaving directory `/usr/local/src/mecab-ipadic-2.7.0-20070801'
テストしてみましょう。
# mecab
test
test    名詞,固有名詞,組織,*,*,*,*
EOS

完成です。