デバッグ版MySQLをcmakeでビルド
メモ書きです。
デバッグ版MySQLを作るので、やったことです。
参考はこの辺です。
というか、この辺みればいいので書く必要ないじゃん!という話なのですが。
http://dev.mysql.com/doc/refman/5.5/en/installing-source-distribution.html
http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
http://www.terut.net/?p=364
http://akitosblog.seesaa.net/article/175524578.html
●前提
CentOS5.7 (Linux 2.6.18-274.el5 #1 SMP Fri Jul 22 04:43:29 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux)
●ソース入手
持ってきたもの mysql-5.5.21.tar.gz mysql-5.6.4-m7.tar.gz
●不足パッケージ投入
yum install cmake.x86_64 yum install gcc44.x86_64 gcc44-c++.x86_64 gcc44-gfortran.x86_64 yum install gcc.x86_64 gcc-c++.x86_64 yum install ncurses-devel.x86_64 yum install ncurses-devel.i386 yum install bison.x86_64
※試行錯誤で入れたので、無駄に複数回たたいてますw 次やるときはまとめて一発で。
●一応マニュアルにしたがってユーザ作成
groupadd mysql useradd -r -g mysql mysql
●ビルド
CMAKE_C_COMPILER=gcc44 CMAKE_CXX_COMPILER=g++44 CC=gcc44 CXX=g++44 cmake -DWITH_PIC=1 -DWITH_DEBUG=1 -DCMAKE_INSTALL_PREFIX=[お好きな場所へ] . make -j4 make install
※gccだとバージョンが低くてmake時の警告が多かったので、gcc44側がベース。
※-DWITH_PIC=1は、共有ライブラリ使用向けに備えてつけてみただけです。効果未確認。
※DCMAKE_INSTALL_PREFIXをいちいち指定したのは個人的なやり方ってだけです。普通は指定しないんじゃないかなぁ。。
●起動
cd インストール先 rm -rf data/* scripts/mysql_install_db ./bin/mysqld_safe --debug
※my.cnfまだ作ってません。
これで、5.5.21/5.6.4-m7共にとりあえず/tmp/mysqld.traceにトレースが出せるようになりました。