Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: dyld: lazy symbol binding failed (was MAC OS 10.6 upgrade breaks DBD:mysql)

by kyz (Acolyte)
on Oct 14, 2009 at 17:09 UTC ( #801131=note: print w/ replies, xml ) Need Help??


in reply to dyld: lazy symbol binding failed (was MAC OS 10.6 upgrade breaks DBD:mysql)

I'm not sure if it applies to everybody, but I had this problem because I use the MySQL packages provided by Fink, but had not upgraded Fink to Mac OS X 10.6.

As a result, all my Fink libraries, including mysqlclient.dylib are 32-bit only.

The /usr/bin/perl in Snow Leopard is 32-or-64 bit, but prefers 64 bit. By the time it's loaded, it's definitely 64 bit and all further (runtime) libraries linked in HAVE to be 64-bit.

My solution is twofold: firstly, upgrade Fink into 64-bit land by reinstalling from scratch, as per their instructions. Secondly, I've decided to use the official MySQL build rather than Fink's build.

That's the bottom-line, but here are some other useful tips:

  • otool -L will tell you what other libraries a bundle depends on.
  • file on an executable will tell you what architectures it's compiled for.
In this case:
$ otool -L blib/arch/auto/DBD/mysql/mysql.bundle blib/arch/auto/DBD/mysql/mysql.bundle: /sw/lib/mysql/libmysqlclient.15.dylib (compatibility version 1 +6.0.0, current version 16.0.0) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current ve +rsion 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, curre +nt version 124.1.1) $ file /sw/lib/mysql/libmysqlclient.15.dylib /sw/lib/mysql/libmysqlclient.15.dylib: Mach-O dynamically linked share +d library i386 $ file blib/arch/auto/DBD/mysql/mysql.bundle blib/arch/auto/DBD/mysql/mysql.bundle: Mach-O universal binary with 3 +architectures blib/arch/auto/DBD/mysql/mysql.bundle (for architecture x86_64): + Mach-O 64-bit bundle x86_64 blib/arch/auto/DBD/mysql/mysql.bundle (for architecture i386): Mach-O + bundle i386 blib/arch/auto/DBD/mysql/mysql.bundle (for architecture ppc7400): + Mach-O bundle ppc


Comment on Re: dyld: lazy symbol binding failed (was MAC OS 10.6 upgrade breaks DBD:mysql)
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://801131]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (5)
As of 2015-07-04 15:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls