CPANでupgradeに失敗。並びに、2台目のLeopardマシンでも導入失敗。
なんだか、わからない。
make test、で、エラーが出るのだな。
なんで、自分自身をロードできないのだ?
へんやでぇ〜
PERL_DL_NONLAZY=1 /usr/local/bin/perl “-MExtUtils::Command::MM” “-e” “test_harness(0, ‘blib/lib’, ‘blib/arch’)” t/*.t
t/00base………………….1/6
# Failed test ‘use DBD::mysql;’
# at t/00base.t line 21.
# Tried to use ‘DBD::mysql’.
# Error: Can’t load ‘/private/var/root/.cpan/build/DBD-mysql-4.007-bbpx5C/blib/arch/auto/DBD/mysql/mysql.bundle’ for module DBD::mysql: dlopen(/private/var/root/.cpan/build/DBD-mysql-4.007-bbpx5C/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _is_prefix
# Referenced from: /private/var/root/.cpan/build/DBD-mysql-4.007-bbpx5C/blib/arch/auto/DBD/mysql/mysql.bundle
# Expected in: dynamic lookup
# at (eval 5) line 2
# Compilation failed in require at (eval 5) line 2.
# BEGIN failed–compilation aborted at (eval 5) line 2.
Bailout called. Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 1
世の中には、似たような事で困っている人々が入るようで、こんなページを見つけた。
このサイトからは、Mac OS X用のPHPをダウンロードさせてもらっている。
ちなみに、1台目のIntel Mac Leopardに導入したMySQLは、
mysql-5.0.51b-osx10.5-x86_64
だったのだが、先のページに従えば、
mysql-5.0.51b-osx10.5-x86
にしといたほうがよい、と言うことになる。
2台目のPowerPC Loepardには、
mysql-5.0.51b-osx10.4-powerpc
を導入した。
最初は気付かなかったのだが、これら2台のLeopardマシンでは、/private/tmp/のアクセス権が、
drwxr-xr-x 10 root wheel – 476 5 18 23:01 tmp
となっといたのだった。
そして、MySQLのソケットが、この/private/tmp/にできていた。
そのような観点で見直すと、mysql-5.0.45を導入したマシンでは、全て、/private/tmp/にソケットが作られていた。確か、ちょっと前までは、
/private/var/mysql/mysql.sock
だったはずで、そうだと思い込んでいた。mysql_configコマンドで表示されているにも関わらず、だ、あれまぁ。
自宅のLeopard Serverでは、
/private/var/mysql/mysql.sock
だから、なおさら、思い込んでしまったのだな。
で、my.cnfを作成することにした。
cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
cd /etc/
vi my.cnf
クライアント、サーバともに、
/var/mysql/mysql.sock
と書き換える。
mysql_configの表示とずれるけど、今は知らない。そのうち、mysql_configを直接編集して整合性を取らないとならないだろうなぁ〜
肝腎の、DBD::mysql 4.007、は、手動で導入。
perl Makefile.PL \
–libs=”-L/usr/local/mysql/lib -lmysqlclient -lz -lm” \
–cflags=”-I/usr/local/mysql/include -Os -arch i686 -arch ppc -fno-common” \
–testhost=127.0.0.1 -testuser=dsafe -testpassword=asdfase
make ; make test
make install
なんとかできた。
ふぅ