Navigation Menu

Skip to content

Commit

Permalink
[doc] add document about debug build.
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Jun 22, 2011
1 parent e419768 commit eb28f1e
Showing 1 changed file with 45 additions and 2 deletions.
47 changes: 45 additions & 2 deletions doc/ja/source/developer.rst
Expand Up @@ -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@github.com: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

ソースディレクトリ解説
----------------------
今のところソースファイルの数はごくわずかです。なるべくシンプルな状態を維持したいと考えています。
Expand Down

0 comments on commit eb28f1e

Please sign in to comment.