XAMPP の MySQL を利用して Perl の DBD::mysql をインストールできるか

結論としては、インストールできないといわざるを得ないと考える。理由としては、DBD::mysql をインストールするのに必要なファイルが、XAMPP の MySQL では不足しているからだ。

% cpanm DBD::mysql

でインストールをすると、mysql_config のパスがわからないというエラーが返ってくるので、XAMPP の mysql_config を指定する。

% cd ~/.cpanm/latest-build/DBD-mysql-4.020
% perl ./Makefile.PL --mysql_config=/Applications/XAMPP/xamppfiles/bin/mysql_config
% make && make test

を実行すると、

cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
cc -c  -I/Users/littlebuddha/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/darwin-2level/auto/DBI -I/Applications/XAMPP/xamppfiles/include/mysql  -I/Applications/XAMPP/xamppfiles/include -L/Applications/XAMPP/xamppfiles/lib -mmacosx-version-min=10.4 -arch i386 -arch ppc   -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT  -DDONT_DECLARE_CXA_PURE_VIRTUAL -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -O3   -DVERSION=\"4.020\" -DXS_VERSION=\"4.020\"  "-I/Users/littlebuddha/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2/darwin-2level/CORE"   dbdimp.c
(中略)
llvm-gcc-4.2: error trying to exec '/usr/bin/../llvm-gcc-4.2/bin/powerpc-apple-darwin11-llvm-gcc-4.2': execvp: No such file or directory
lipo: can't open input file: /var/folders/48/nk0cd4md1zd5gqfffjl9m6l80000gn/T//cc2bjwAe.out (No such file or directory)
make: *** [dbdimp.o] Error 255

というエラーが返ってくる。
いろいろと調べてみて、

にあるような

/*using_322=is_prefix(mysql_get_server_info(imp_dbh->pmysql),"3.22");*/
using_322 = ((strncmp(mysql_get_server_info(imp_dbh->pmysql),"3.22",4) == 0) ? 1 : 0 );

問題もあるようだが、今回のエラーでは関係ない。
ふと思い、

% /Applications/XAMPP/xamppfiles/bin/mysql_config 
Usage: ./mysql_config [OPTIONS]
Options:
        --cflags         [-I/Applications/XAMPP/xamppfiles/include/mysql  -I/Applications/XAMPP/xamppfiles/include -L/Applications/XAMPP/xamppfiles/lib -mmacosx-version-min=10.4 -arch i386 -arch ppc   -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT  -DDONT_DECLARE_CXA_PURE_VIRTUAL]
        --include        [-I/Applications/XAMPP/xamppfiles/include/mysql]
        --libs           [-L/Applications/XAMPP/xamppfiles/lib -I/Applications/XAMPP/xamppfiles/include -mmacosx-version-min=10.4  -L/Applications/XAMPP/xamppfiles/lib/mysql -lmysqlclient -lz -lm]
        --libs_r         [-L/Applications/XAMPP/xamppfiles/lib -I/Applications/XAMPP/xamppfiles/include -mmacosx-version-min=10.4  -L/Applications/XAMPP/xamppfiles/lib/mysql -lmysqlclient_r -lz -lm]
        --plugindir      [/Applications/XAMPP/xamppfiles/lib/mysql/plugin]
        --socket         [/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock]
        --port           [0]
        --version        [5.1.44]
        --libmysqld-libs [-L/Applications/XAMPP/xamppfiles/lib -I/Applications/XAMPP/xamppfiles/include -mmacosx-version-min=10.4  -L/Applications/XAMPP/xamppfiles/lib/mysql -lmysqld -ldl  -lz -lm]

という設定されている値にあるべきファイルが存在しなかったり、XAMPP が i386 向けにビルドされているのに、いま使っている Perl

% perl -V
Summary of my perl5 (revision 5 version 14 subversion 2) configuration:
   
  Platform:
    osname=darwin, osvers=11.2.0, archname=darwin-2level
    uname='darwin macbook-air 11.2.0 darwin kernel version 11.2.0: tue aug 9 20:54:00 pdt 2011; root:xnu-1699.24.8~1release_x86_64 x86_64 '

x86 版としてビルドされているために、エラーが発生していると思われる。32 bit か 64 bit のどちらかに揃えてビルドしないといけないことを考えると、64 bit 版が用意されていないXAMPP を使う選択肢がなくなる。