Good afternoon,
I'm having trouble installing DBD::mysql on OS X Leopard, and I=20
can't get any answers from Google that help.
I've got a fresh Leopard install so there shouldn't be any=20
legacy issues. I've tried compiling DBD::mysql against package=20
version of mySQL=20
(mysql-max-4.1.22-apple-darwin8.6.0-powerpc-64bit) as well as=20
against mySQL compiled from source. I was getting errors caused=20
by architecture mis-match which I fixed by setting=20
ARCHFLAGS=3D'-arch i386 -arch ppc -arch ppc64 -arch x86_64' before=20
running perl Makefile.PL. I also tried setting it as=20
ARCHFLAGS=3D'-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=20
-arch i386 -arch ppc -arch ppc64 -arch x86_64=20
-I/usr/local/mysql/include -Os -fno-common=20
-DDBD_MYSQL_INSERT_ID_IS_GOOD -g -arch i386 -arch ppc -arch=20
ppc64 -arch x86_64 -g -pipe -fno-common -DPERL_DARWIN=20
-no-cpp-precomp -fno-strict-aliasing=20
-Wdeclaration-after-statement -I/usr/local/include -O3 =20
-DVERSION=3D\"4.006\" -DXS_VERSION=3D\"4.006\" =20
"-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE" dbdimp.c
dbdimp.c: In function =E2=80=98alloc_param=E2=80=99:
dbdimp.c:112: warning: comparison is always false due to limited=20
range of data type
dbdimp.c: In function =E2=80=98alloc_bind=E2=80=99:
dbdimp.c:130: warning: comparison is always false due to limited=20
range of data type
dbdimp.c: In function =E2=80=98alloc_fbind=E2=80=99:
dbdimp.c:146: warning: comparison is always false due to limited=20
range of data type
dbdimp.c: In function =E2=80=98alloc_fbuffer=E2=80=99:
dbdimp.c:161: warning: comparison is always false due to limited=20
range of data type
dbdimp.c: In function =E2=80=98mysql_describe=E2=80=99:
dbdimp.c:3252: warning: assignment from incompatible pointer type
dbdimp.c: In function =E2=80=98mysql_describe=E2=80=99:
dbdimp.c:3252: warning: assignment from incompatible pointer type
dbdimp.c: In function =E2=80=98alloc_param=E2=80=99:
dbdimp.c:112: warning: comparison is always false due to limited=20
range of data type
dbdimp.c: In function =E2=80=98alloc_bind=E2=80=99:
dbdimp.c:130: warning: comparison is always false due to limited=20
range of data type
dbdimp.c: In function =E2=80=98alloc_fbind=E2=80=99:
dbdimp.c:146: warning: comparison is always false due to limited=20
range of data type
dbdimp.c: In function =E2=80=98alloc_fbuffer=E2=80=99:
dbdimp.c:161: warning: comparison is always false due to limited=20
range of data type
dbdimp.c: In function =E2=80=98mysql_describe=E2=80=99:
dbdimp.c:3252: warning: assignment from incompatible pointer type
dbdimp.c: In function =E2=80=98mysql_describe=E2=80=99:
dbdimp.c:3252: warning: assignment from incompatible pointer type
cc -c -I/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI=20
-arch i386 -arch ppc -arch ppc64 -arch x86_64=20
-I/usr/local/mysql/include -Os -fno-common=20
-DDBD_MYSQL_INSERT_ID_IS_GOOD -g -arch i386 -arch ppc -arch=20
ppc64 -arch x86_64 -g -pipe -fno-common -DPERL_DARWIN=20
-no-cpp-precomp -fno-strict-aliasing=20
-Wdeclaration-after-statement -I/usr/local/include -O3 =20
-DVERSION=3D\"4.006\" -DXS_VERSION=3D\"4.006\" =20
"-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE" mysql.c
mysql.xs: In function =E2=80=98XS_DBD__mysql__db_do=E2=80=99:
mysql.xs:315: warning: comparison is always false due to limited=20
range of data type
mysql.xs:316: warning: comparison is always false due to limited=20
range of data type
mysql.xs: In function =E2=80=98XS_DBD__mysql__db_do=E2=80=99:
mysql.xs:315: warning: comparison is always false due to limited=20
range of data type
mysql.xs:316: warning: comparison is always false due to limited=20
range of data type
I think those are just warnings though and not related the=20
problems I'm having.
The show-stopper is the make test stage when I get errors such as:
PERL_DL_NONLAZY=3D1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"=20
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base................1/5 install_driver(mysql) failed: Can't=20
load=20
'/Users/charlie/.cpan/build/DBD-mysql-4.006-Pcd0BT/blib/arch/auto/DBD/mysql=
/mysql.bundle'=20
for module DBD::mysql:=20
dlopen(/Users/charlie/.cpan/build/DBD-mysql-4.006-Pcd0BT/blib/arch/auto/DBD=
/mysql/mysql.bundle,=20
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=20
comments I've read about compatibility issues with the default=20
32-bit module installs and the 64-bit apache (& mod_perl) that=20
comes with Leopard. I'm happy to roll my own=20
perl/mod_perl/apache if needed. But I'd prefer to use the OS=20
versions if possible.
Suggestions on getting a successful install of DBD::mysql on=20
Leopard would be much appreciated.
Thanks,
Charlie
--=20
Charlie Garrison <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


|