棚からパルチャギ

日々の雑記、ニュース拾いとか

2008. 12. 14

MacBookにQ4Mをインストールした

…ので、そのメモ書き。
http://q4m.31tools.com/

MySQL5.1をインストールする
5.1系はまだdevelにしかないので、5.0系をインストールしている場合はdeactivateする。 データベースの初期化とかパスワードの設定とか自動起動とかの諸々は割愛。

$ sudo port deactivate mysql5 $ sudo port install mysql5-devel +server

Q4Mをダウンロードしてビルドしてみる。

$ cd /ur/local/src $ wget http://q4m.31tools.com/dist/q4m-0.8.3.tar.gz $ tar -zxf q4m-0.8.3.tar.gz $ cd q4m-0.8.3 $ ./configure --prefix=/opt/local/lib/mysql5/mysql --includedir=/opt/local/include ... checking for mysql source code... configure: error: "no mysql source provided"

MySQL本体のソースが必要みたいなので用意する。
MacPortsのソースはビルド完了後に削除されてしまうので、別途ダウンロードして展開しておく。

$ cd /usr/local/src $ wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.30.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/ $ tar -zxf mysql-5.1.30.tar.gz

再挑戦。

$ cd /usr/local/src/q4m-0.8.3 $ ./configure --prefix=/opt/local/lib/mysql5/mysql \ --with-mysql=/usr/local/src/mysql-5.1.30 \ --includedir=/opt/local/include ... checking for mysql source code... "/usr/local/src/mysql-5.1.30" failed to lacate mysql 5.1 installation Please specify mysql 5.1 directory with --prefix option.

ライブラリヘッダのパスが解決できないみたいので、prefixを変更してインストール後に調整することに。 それだけだと微妙に通らないのでシンボリックリンクも使ってちょっと強引に回避する。

$ cd /opt/local/include $ sudo ln -s mysql5/mysql mysql $ $ cd /usr/local/src/q4m-0.8.3 $ ./configure --prefix=/opt/local \ --with-mysql=/usr/local/src/mysql-5.1.30 \ --includedir=/opt/local/include

configureは通ったのでmake。こける。
boostが必要とかヘッダフィルが読み込めないとかライブラリがどうとかいろいろ怒られるので頑張る。 CPPFLAGSとかには mysql_config -libs の出力結果を参考に指定するといいらしい。

/opt/local/lib/mysql5/bin/mysql_config -libs
boostをインストールしてビルド。--with-syncも追加した。
$ sudo port install boost $ $ CPPFLAGS="-I/opt/local/include/mysql5/mysql -I/usr/local/src/mysql-5.1.30/sql -I/opt/local/include" \ LDFLAGS="-L/opt/local/lib -L/opt/local/lib/mysql5/mysql -lmysqlclient -L/opt/local/lib -lz -lm -L/opt/local/lib/ -lssl -lcrypto" \ ./configure --prefix=/opt/local \ --with-mysql=/usr/local/src/mysql-5.1.30 \ --with-sync=fsync $ $ make

正常にビルド完了したら、MySQLにプラグインをインストールする。
prefixを変更していたのでちょこっと調整してからインストールスクリプトを実行。

$ sudo make install $ $ cd /opt/local/lib/mysql5/mysql/plugin $ sudo ln -s /opt/local/lib/libqueue_engine.so libqueue_engine.so $ sudo ln -s /opt/local/lib/libqueue_engine.la libqueue_engine.la $ sudo ln -s /opt/local/lib/libqueue_engine.a libqueue_engine.a $ $ cd /usr/local/src/q4m-0.8.3 $ mysql5 -u root -p mysql < support-files/install.sql

動作確認してみる。

$ mysql5 -u root -p mysql mysql> SHOW ENGINE QUEUE STATUS;
おしまい。