LoginSignup
4
4

More than 5 years have passed since last update.

textsearch_jaがdicrcを開けない

Posted at

OS X上のPostgreSQLデータベースに対してtextsearch_ja(9.0.0)をビルドしてインストールした。その後、全文検索を使えるようにするために、textsearch_ja.sqlを実行すると以下のエラーが出た。

PGError: ERROR:  mecab: tagger.cpp(150) [load_dictionary_resource(param)] param.cpp(71) [ifs] no such file or directory: ./dicrc

なお、ビルドの前提として、mecabとmecab-ipadicはHomeBrewでインストールしてある。

ライブラリ(textsearch_ja.so)のインストール自体は成功していると思われるが、辞書の設定ファイルを見つけられないらしい。

調べたところ、ビルド時に既にインストールされていた、別のmecabをリンクしていたようだ(同様の症状の人は見あたらなかったので、もしかするとportの残骸なのかもしれない)。

/usr/lib/libmecab.dylib

ということで、textsearch_jaのMakefileに以下を追加して、使用するmecabライブラリの位置を指定できるようにした。

# specify mecab lib dir
ifdef MECAB_LIB
LDFLAGS += -L$(MECAB_LIB)
endif

再度ビルドしてインストールする。

$ USE_PGXS=1 make clean
$ MECAB_LIB=/usr/local/Cellar/mecab/0.994/lib USE_PGXS=1 make
$ USE_PGXS=1 make install

これで、HomeBrewのmecabを使ってビルドされ、無事にtextsearch_ja.sqlを実行できるようになった。

以下バージョン情報(全てHomeBrewでインストール)
postgresql: 9.0.4
mecab: 0.994
mecab-ipadic: 2.7.0-20070801

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4