macでmroongaを使ってみる – Macports編 –

macでmroongaを使ってみる  – Macports編 –
  • OSX Mountain Lion 10.8.3
  • groonga 3.0.1
  • MySQL 5.5.30
  • MAMP 2.1.4

groongaのインストール

groongaはMacportsでインストールする。

sudo port install groonga

groongaをインストールするとmysql55もインストールされるのでソースコードはこれを使う。...と、思ったら最近のmacportsはバイナリをダウンロードするらしい(Shibu's Diary: MacPortsは生まれ変わった

MacPortsのバイナリダウンロードはビルドした時と違うファイルになる場合があるっぽい - kanonjiの日記 ココを読むとソースコードからインストール出来るオプションが有るみたい。

#一度アンインストールして...
$ sudo port uninstall mysql55 @5.5.30_1

# -s オプションを付けてソースからインストール
$ sudo port install -s mysql55

ソースのpathはこんな感じ
/opt/local/var/macports/distfiles/mysql55/mysql-5.5.30.tar.gz
なので、これをコピーして解凍する。

#無い場合はsrc ディレクトリを作って
$ mkdir ~/src
$ cd ~/src
#
$ sudo mv /opt/local/var/macports/distfiles/mysql55/mysql-5.5.30.tar.gz ~/src/mysql-5.5.30.tar.gz 
Password:
$ tar zxvf mysql-5.5.30.tar.gz

mroongaのインストール

packages.groonga.org から最新版のmroongaをダウンロードします。このエントリーを書いている時点の最新版は mroonga-3.01.tar.gz です。

ダウンロードして解凍します。

$ wget http://packages.groonga.org/source/mroonga/mroonga-3.01.tar.gz

tar zxvf mroonga-3.01.tar.gz

2. インストールガイド — mroonga v3.01 documentation を読むと、

groongaを/usr/libなど標準のパス以外にインストールした場合はPKG_CONFIG_PATHを指定する必要があります。例えば、ーーprefix=$HOME/localでgroongaをインストールした場合は以下のようにします。

とあります。

pkg-configのpathは

$ which pkg-config
/opt/local/bin/pkg-config

mysql_config のpathは

$ which mysql_config
/usr/local/bin/mysql_config

MySQLのソースのpathは先程解凍したものとなりますので、configureは以下のようになります。

$ cd mroonga-3.00
$ ./configure \
  PKG_CONFIG_PATH=/opt/local/bin/pkg-config \
  --with-mysql-source=$HOME/src/mysql-5.5.30 \
  --with-mysql-config=/usr/local/bin/mysql_config

その後 makeを実行します。

$ make
$ sudo make install

/opt/local/lib/mysql55/plugin/ 以下にmroongaがインストールされます。

後は公式ガイド通り

mysql> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';

mysql> CREATE FUNCTION last_insert_grn_id RETURNS INTEGER soname 'ha_mroonga.so';

を実行します。

ちなみにいつの間にかMAMPのMySQLがバージョン5.5になっていたので、別途MySQLをインストールしなくてもmroongaが使えるのではないかと思い試してみたけど、make出来ないので諦めた。