Good afternoon,

I'm having trouble installing DBD::mysql on OS X Leopard, and I can't get any answers from Google that help.

I've got a fresh Leopard install so there shouldn't be any legacy issues. I've tried compiling DBD::mysql against package version of mySQL (mysql-max-4.1.22-apple-darwin8.6.0-powerpc-64bit) as well as against mySQL compiled from source. I was getting errors caused by architecture mis-match which I fixed by setting ARCHFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64' before running perl Makefile.PL. I also tried setting it as ARCHFLAGS='-arch ppc64'.

I get a few warnings during make, such as:

cc -c -I/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI -arch i386 -arch ppc -arch ppc64 -arch x86_64 -I/usr/local/mysql/include -Os -fno-common -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -arch i386 -arch ppc -arch ppc64 -arch x86_64 -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-statement -I/usr/local/include -O3 -DVERSION=\"4.006\" -DXS_VERSION=\"4.006\" "-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE" dbdimp.c
dbdimp.c: In function ‘alloc_param’:
dbdimp.c:112: warning: comparison is always false due to limited range of data type
dbdimp.c: In function ‘alloc_bind’:
dbdimp.c:130: warning: comparison is always false due to limited range of data type
dbdimp.c: In function ‘alloc_fbind’:
dbdimp.c:146: warning: comparison is always false due to limited range of data type
dbdimp.c: In function ‘alloc_fbuffer’:
dbdimp.c:161: warning: comparison is always false due to limited range of data type
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3252: warning: assignment from incompatible pointer type
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3252: warning: assignment from incompatible pointer type
dbdimp.c: In function ‘alloc_param’:
dbdimp.c:112: warning: comparison is always false due to limited range of data type
dbdimp.c: In function ‘alloc_bind’:
dbdimp.c:130: warning: comparison is always false due to limited range of data type
dbdimp.c: In function ‘alloc_fbind’:
dbdimp.c:146: warning: comparison is always false due to limited range of data type
dbdimp.c: In function ‘alloc_fbuffer’:
dbdimp.c:161: warning: comparison is always false due to limited range of data type
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3252: warning: assignment from incompatible pointer type
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3252: warning: assignment from incompatible pointer type
cc -c -I/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI -arch i386 -arch ppc -arch ppc64 -arch x86_64 -I/usr/local/mysql/include -Os -fno-common -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -arch i386 -arch ppc -arch ppc64 -arch x86_64 -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-statement -I/usr/local/include -O3 -DVERSION=\"4.006\" -DXS_VERSION=\"4.006\" "-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE" mysql.c
mysql.xs: In function ‘XS_DBD__mysql__db_do’:
mysql.xs:315: warning: comparison is always false due to limited range of data type mysql.xs:316: warning: comparison is always false due to limited range of data type
mysql.xs: In function ‘XS_DBD__mysql__db_do’:
mysql.xs:315: warning: comparison is always false due to limited range of data type mysql.xs:316: warning: comparison is always false due to limited range of data type

I think those are just warnings though and not related the problems I'm having.


The show-stopper is the make test stage when I get errors such as:

PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00base................1/5 install_driver(mysql) failed: Can't load '/Users/charlie/.cpan/build/DBD-mysql-4.006-Pcd0BT/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/charlie/.cpan/build/DBD-mysql-4.006-Pcd0BT/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _is_prefix
  Referenced from: 
/Users/charlie/.cpan/build/DBD-mysql-4.006-Pcd0BT/blib/arch/auto/DBD/mysql/mysql.bundle
  Expected in: dynamic lookup
 at (eval 3) line 3
Compilation failed in require at (eval 3) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at t/00base.t line 38
t/00base................ Dubious, test returned 2 (wstat 512, 0x200)
 Failed 2/5 subtests


I am wanting to go with 64-bit installs of perl modules based on comments I've read about compatibility issues with the default 32-bit module installs and the 64-bit apache (& mod_perl) that comes with Leopard. I'm happy to roll my own perl/mod_perl/apache if needed. But I'd prefer to use the OS versions if possible.

Suggestions on getting a successful install of DBD::mysql on Leopard would be much appreciated.

Thanks,
Charlie

--
   Charlie Garrison  <[EMAIL PROTECTED]>
   PO Box 141, Windsor, NSW 2756, Australia

O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
http://www.ietf.org/rfc/rfc1855.txt

Reply via email to