MySQL 5.0

このエントリーをはてなブックマークに追加
246NAME IS NULL
mysql-test-run 及び make testは失敗するのがデフォルトですか?

CentOSのmysql-5.0.48.src.rpmからrpmbuildでrebuildしたんですが、make testの段でエラーになります。
specの中身は、
CFLAGS="-O2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv"
CXXFLAGS="$CFLAGS -fno-rtti -fno-exceptions"
CC=gcc(ver3.4.6-8) CXX=g++(ver3.4.6.8)
./configure --with-readline --with-openssl --without-debug --enable-shared --with-bench --localstatedir=/var/lib/mysql \
--with-unix-socket-path=/var/lib/mysql/mysql.sock --with-mysqld-user="mysql" --with-extra-charsets=all \
--with-innodb --with-ndbcluster --with-berkeley-db --enable-local-infile --enable-largefile --enable-thread-safe-client \
--disable-dependency-tracking --with-named-thread-libs="-lpthread"
とこうなってます。
で、%build(make)セクションは問題なく進んでいるようですが、make testに入ってから、
Logging: mysql-test-run.pl
MySQL Version 5.0.48
Skipping ndbcluster, mysqld not compiled with ndbcluster
Skipping SSL, mysqld not compiled with SSL
Using MTR_BUILD_THREAD = 0
Using MASTER_MYPORT = 9306
Using MASTER_MYPORT1 = 9307
Using SLAVE_MYPORT = 9308
Using SLAVE_MYPORT1 = 9309
Using SLAVE_MYPORT2 = 9310
Using IM_PORT = 9312
Using IM_MYSQLD1_PORT = 9313
Using IM_MYSQLD2_PORT = 9314
Killing Possible Leftover Processes
Removing Stale Files
Creating Directories
Installing Master Database
Installing Master Database
Installing Slave1 Database
mysql-test-run: WARNING: running this script as _root_ will cause some tests to be skipped
=======================================================
Starting Tests in the 'main' suite

TEST RESULT TIME (ms)
-------------------------------------------------------

mysql-test-run: WARNING: Process 8991 died
alias [ fail ]

ERROR: Failed to start master mysqld 0

Aborting: alias failed in default mode. To continue, re-run with '--force'.
Stopping All Servers
mysql-test-run: WARNING: caught exit of unknown child -1
mysql-test-run: WARNING: Forcing kill of process 8991
と出て、いきなりFaild出ています。
247246:2007/10/10(水) 02:46:59 ID:???
そこで、src.rpm中のtar.gzを、自分で展開して、

CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static
(mysql4.1マニュアルにあったまんま)から、makeしてみたんですが、

・item_cmpfunc.cc:861: 警告: converting of negative value `-0x000000001' to `ulonglong'
・sql_show.cc:1467: 警告: キャストによってポインタから異なるサイズの整数となります。
上の二件警告がでて、コンパイル自体は通るんですが、で、make testとしたら、上と全く同じエラーがでます。

とりあえずmake installして、./script/mysql_install_dbしてから、./bin/mysqld_safe & で起動して、
./bin/mysql -u root で入って、select,create table,insert,delete 等は一応動いてるようです。
でもそこで mysql-test/mysql-test-runしてみるとやはり上記のエラーが・・・。
途中でこけるんではなくて、いきなり一発目のテストからこけてる。

ちなみに --force オプションつきでやってみると、ものの見事に全てのテストが Faildします。
その時、別のターミナルからtopでプロセス監視してると、mysqld<defunct>が二個くらい出てきては
数秒したら消えるの繰り返しでした。

’Failed to start master mysqld 0’とあるので、テスト用のmysqldが正常に起動できてない(ゾンビプロセス化)
ような気がしますが、mysql-ABや、MLで’Failed to start master mysqld 0’とか’mysql-test-run’とかで
検索かけても、マニュアルには「全てのテストは通ります。」としか書かれてないし、
ggったところ一件だけ同じ症状(ver5.0.41だけど)があったんですが、
そこにも「通る気配がないので、make installして起動さしますた。」ってことになってます。

こちらの皆さんは、ソースからmakeしてmake testとか、script/mysql-test-runとかちゃんと通りますか?

あと、rpmからの時は、起動してるとき ps -A | grep mysql で mysqld_safe と mysqld の二つしか
プロセスHitしないのに、ソースからmake install して ./bin/mysqld_safe した時は、mysqldプロセスが
八匹くらい常駐してるんですが、これも正常なんですか??