null+****@clear*****
null+****@clear*****
2011年 6月 22日 (水) 19:19:58 JST
Kouhei Sutou 2011-06-22 10:19:58 +0000 (Wed, 22 Jun 2011)
New Revision: eb28f1ecdabd903049cc15918dea748b3d08caab
Log:
[doc] add document about debug build.
Modified files:
doc/ja/source/developer.rst
Modified: doc/ja/source/developer.rst (+45 -2)
===================================================================
--- doc/ja/source/developer.rst 2011-06-22 10:16:28 +0000 (f510c15)
+++ doc/ja/source/developer.rst 2011-06-22 10:19:58 +0000 (854c095)
@@ -79,13 +79,56 @@ http://github.com/mroonga/mroonga
* Linux x86_64
* glibc 2.5
-* MySQL 5.1
-* groonga 1.0
+* MySQL 5.5
+* groonga 1.2
* cutter 1.1 (C/C++単体テスト用)
* sphinx 1.0 (ドキュメント用)
glibc 2.5はRed Hat Enterprise Linux 5に相当します。
+デバッグ用ビルド方法
+--------------------
+
+デバッグ用にビルドすることにより、gdb上でのシンボル解決など開発時に得られる情報が多くなります。そのため、開発時はデバッグ用にMySQLとgroongaストレージエンジンをビルドします。
+
+.. note::
+
+ 片方だけデバッグ用ビルドにすると構造体のサイズなどが異なってしまうため、groongaストレージエンジンがロードできなかったり、実行時にassertに引っかかったりしてうまく動作しません。
+
+MySQLのデバッグ用ビルド方法
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+`MySQL :: MySQL 5.5 Reference Manual :: 2.9.2 Installing MySQL from a Standard Source Distribution`_ にある通り、CMakeのオプションに ``-DWITH_DEBUG=yes`` オプションを渡すことでデバッグ用にビルドすることができます。
+
+ダウンロードからビルドまでの流れは以下の通りです。::
+
+ % mkdir -p ~/work/
+ % cd ~/work/
+ % wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.13.tar.gz
+ % tar xvzf mysql-5.5.13.tar.gz
+ % cd mysql-5.5.13
+ % cmake . -DCMAKE_INSTALL_PREFIX=/tmp/local -DWITH_DEBUG=yes
+ % make
+
+.. _`MySQL :: MySQL 5.5 Reference Manual :: 2.9.2 Installing MySQL from a Standard Source Distribution`: http://dev.mysql.com/doc/refman/5.5/en/installing-source-distribution.html
+
+groongaストレージエンジンのデバッグ用ビルド方法
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+groongaストレージエンジンはconfigureのオプションに ``--with-debug`` を渡すことでデバッグ用にビルドすることができます。
+
+リポジトリのcloneからビルドまでの流れは以下の通りです。::
+
+ % cd ~/work/
+ % git clone git****@githu*****:mroonga/mroonga.git
+ % cd mroonga
+ % ./configure CFLAGS="-ggdb3 -O0" CXXFLAGS="-ggdb3 -O0" --with-debug --prefix=/tmp/local --with-mysql-source=$HOME/work/mysql-5.5.13 --with-mysql-config=$HOME/work/mysql-5.5.13/scripts/mysql_config
+ % make
+
+無事にビルドができたら以下のようにテストを実行してください。すべてのテストが ``[pass]`` になればデバッグ用ビルドは成功しています。::
+
+ % test/run-sql-test.sh
+
ソースディレクトリ解説
----------------------
今のところソースファイルの数はごくわずかです。なるべくシンプルな状態を維持したいと考えています。