in reply to Re: dyld: lazy symbol binding failed (was MAC OS 10.6 upgrade breaks DBD:mysql)
in thread dyld: lazy symbol binding failed (was MAC OS 10.6 upgrade breaks DBD:mysql)
Anyway, I have run into the exact problem described in one of the posts above: macosx 10.6 (snow leopard, replacing a previous 10.5 on my macbook), Perl 5.10.0 (x86_64, as per the macosx distro), newly installed mysql 5.1.48 64-bit (replacing a 5.0.1 32-bit version that had been working fine with osx 10.5): DBI/DBD::mysql newly installed (the latter by hand, to get the tests to pass), and now a simple one-liner like this:
Works fine when run as root, but fails (with the thread-topic error message) when run as me.perl -MDBI -le '$d=DBI->connect("DBI:mysql:database=test;host=localhos +t","test",""); print "ok"'
Your explanation sounded like something I might be able get my head around, but alas, I don't know what you're talking about. Where/how do I control or learn about this "word width" issue?
Actually, it turns out this anonymonk reply above had the right answer: a typical root shell in this sort of setup does not have "VERSIONER_PERL_PREFER_32_BIT=yes" when perl runs, whereas my own personal login account does. Of course, I don't have anything like this showing up in my normal shell environment -- it only shows up when I run perl, and if I change $ENV{VERSIONER_PERL_PREFER_32_BIT} to "no" inside a perl script, it's already too late to take effect (DBD::mysql still fails).
Luckily, if I this to my .bashrc file, perl pays attention, and DBD::mysql works (finally!!!)
So, to recap my voyage through this morass...export VERSIONER_PERL_PREFER_32_BIT=no
This thread has proven to me once again how valuable perlmonks is. I'm moved to donate more money.1. upgraded from macosx 10.5 to 10.6, causing upgrade from perl 5.8.8 +to 5.10.0, and therefore... 2. had to "mysqldump --database each_db_needed | gzip > each_db_needed +.dump.gz (update) 2b. Shut down running mysqld 3. had to install mysql 5.1.48 64-bit (macosc binary distro) 4. change "/usr/local/mysql" symlink target from mysql-5.0.1 to mysql- +5.1.48 (update) 4b. Start mysqld 5. gunzip < each_db_needed.dump.gz | mysql 6. set up mysql accounts and passwords 7. install DBI (standard cpan style) 8. install DBD::mysql (by hand -- for some reason, 'testuser' needed t +weaking) 9. add 'export VERSIONER_PERL_PREFER_32_BIT=no' to my .bashrc 10. hope that step 9 doesn't break lots of other stuff...
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: dyld: lazy symbol binding failed (was MAC OS 10.6 upgrade breaks DBD:mysql)
by elim (Initiate) on Aug 06, 2012 at 19:00 UTC | |
by graff (Chancellor) on Aug 10, 2012 at 16:11 UTC | |
by Anonymous Monk on Apr 19, 2018 at 00:56 UTC | |
by Anonymous Monk on Apr 19, 2018 at 12:21 UTC |