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