仕事で必要なサーバーにMySQL 4.0.24, Perl-DBI 1.48(DDBI-1.48.tar.gz), Perl-DBD-MySQL 2.00(DBD-mysql-2.9004.tar.gz)をインストールしたのだが、MySQL, DBIはすんなりインストールできたものの、DBD::mysqlがmake testでエラーが出てうまくいかない。
最初CPANで試してだめだったので、gzipモジュールをダウンロードして自分で展開し、perl Makefile.PL;make;make test とすると、どうしてもテストに失敗する。
こんな↓感じ。
[root@hostname DBD-mysql-2.9004]# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base...........ok
t/10dsnlist........ok
t/20createdrop.....ok
t/30insertfetch....ok
t/40bindparam......ok
t/40blobs..........ok
t/40listfields.....ok
t/40nulls..........ok
t/40numrows........ok
t/50chopblanks.....ok
t/50commit.........ok
t/60leaks..........skipped
all skipped: $ENV{SLOW_TESTS} is not set or Proc::ProcessTable not installed
t/ak-dbd...........ok
t/akmisc...........FAILED test 34
Failed 1/351 tests, 99.72% okay
t/dbdadmin.........ok
t/insertid.........ok
t/mysql............FAILED test 15
Failed 1/68 tests, 98.53% okay
t/mysql2...........ok
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/akmisc.t 351 1 0.28% 34
t/mysql.t 68 1 1.47% 15
1 test skipped.
Failed 2/18 test scripts, 88.89% okay. 2/767 subtests failed, 99.74% okay.
make: *** [test_dynamic] エラー 29
[root@hostname DBD-mysql-2.9004]#
で、CPANでだめで、tar ballでもだめ。 googleに聞いてもそれらしいことは載ってない。
似たようなキーワードで引っかかるのはMySQLのアカウントのパスワードとかTESTDBの書き込み権限のことばかり。
仕方がないので、テストスクリプトを読んでみることにした。
とりあえず、akmisc のエラーより、mysqlのテストに失敗しているほうが重要度高そうだ...ということで、t/mysql.t の15番目のテストの部分を読んでみる。
と、なんかシンプルなQueryをMySQLに投げて、"error"という文字が結果として返ってきているかどうかでテストの成否が決まるらしい。
こんなシンプルなテストでエラーになるなんて...と逆に考え込んでしまったのだが、ふと気づいた。
my.cnf の language を japanese にしてるのは影響しないのか?
ということで、my.cnfの該当行をコメントアウトして MySQLを再起動。 その後tar ballの make test を実行すると...。
何事もなくinstallできました...orz
教訓:システムの設定が終わらないうちに各アプリケーションの細かな設定は後回しにすべし。
最近のコメント