Hi Charlie,

I had the same problem on both Tiger and Leopard. It seems that the newer mysql builds have moved
some of the libraries and the config files haven't caught up.

The article/blog that helped me is:

http://jayallen.org/journey/2006/04/dbd-mysql-build-problems-on-mac-book-pro

The simplest solution for me is towards the end in the comments mentioning creating links from where it thinks it should be to the new location, the solution that I used.
ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

ln -s /usr/local/mysql/include /usr/local/mysql/include/mysql

(use sudo as needed)

Your mileage may vary so read all the comments, there are several different

solutions that you could also use at compile time.

Good Luck


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