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
これで認識完了です。
このあとは辞書をインストールしていきます。
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
完成です。