Re: Installing DBD::mysql on Leopard

[email protected] (David Watts)
Newsgroups perl.macosx
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.