[Pythonmac-SIG] 64-bit mode no work
Lars Clausen
lars at raeder.dk
Sun Feb 22 19:04:40 CET 2009
On Feb 22, 2009, at 12:00 PM, pythonmac-sig-request at python.org wrote:
>
> In article <DEF20F43-12BB-4397-9214-8C6A292AF37E at raeder.dk>,
> Lars Clausen <lars at raeder.dk> wrote:
>> I've been trying to get mod_python and mysql to work on my Intel
>> MacBook Leopard, but with very little luck. [...]
>
> What about the MySQL library itself, i.e. libmysqlclient? Do you
> have a
> 64-bit version of it? The standard distribution from MySQL is not
> 4-way, (and, for 5.1.30 at least, it's broken for 2-way:
> <http://bugs.mysql.com/bug.php?id=41940>).
Hedwig:local larsrc$ ls -ld /usr/local/mysql*
lrwxr-xr-x 1 root wheel 27 Feb 19 20:26 /usr/local/mysql ->
mysql-5.0.77-osx10.5-x86_64
Hedwig:Sources larsrc$ file /usr/local/mysql-5.0.77-osx10.5-x86_64/lib/
libmysqlclient_r.15.0.0.dylib
/usr/local/mysql-5.0.77-osx10.5-x86_64/lib/libmysqlclient_r.
15.0.0.dylib: Mach-O 64-bit dynamically linked shared library x86_64
However, importing MySQLdb in python directly shows something
interesting:
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.macosx-10.5-universal/egg/MySQLdb/__init__.py",
line 19, in <module>
File "build/bdist.macosx-10.5-universal/egg/_mysql.py", line 7, in
<module>
File "build/bdist.macosx-10.5-universal/egg/_mysql.py", line 6, in
__bootstrap__
ImportError: dlopen(/Users/larsrc/.python-eggs/MySQL_python-1.2.2-
py2.6-macosx-10.5-universal.egg-tmp/_mysql.so, 2): Library not
loaded: /usr/local/mysql/lib/libmysqlclient_r.16.dylib
Referenced from: /Users/larsrc/.python-eggs/MySQL_python-1.2.2-
py2.6-macosx-10.5-universal.egg-tmp/_mysql.so
Reason: image not found
It tries to fine the .16 version, but the 64-bit mysql has the .15
version:
Hedwig:local larsrc$ locate libmysqlclient_r | grep .0.0
/usr/local/mysql-5.0.77-osx10.5-x86_64/lib/libmysqlclient_r.15.0.0.dylib
/usr/local/mysql-5.1.31-osx10.5-x86/lib/libmysqlclient_r.16.0.0.dylib
Linking /usr/local/mysql/lib/mysql and recompiling MySQLdb from fresh
sources gave an egg that looks for the .15 version, but now it is back
to the 'does not define init function'. No luck on that.
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.macosx-10.5-universal/egg/MySQLdb/__init__.py",
line 19, in <module>
File "build/bdist.macosx-10.5-universal/egg/_mysql.py", line 7, in
<module>
File "build/bdist.macosx-10.5-universal/egg/_mysql.py", line 6, in
__bootstrap__
ImportError: dynamic module does not define init function (init_mysql)
I have cleared out my old eggs and checked that the egg used here is
64-bit.
>>
>> Any ideas also why there is no 64-bit installation of Python for Mac?
>> Given the presence of fat binaries, it seems like it would be a
>> trivial task to have it.
>
> The support for 4-way universal builds in python is relatively new.
> There has been some discussion recently on the python-dev list about
> providing "official" 4-way installers for OS X. This will probably
> get
> discussed more at the upcoming PyCon.
I hope so. All this grief has had me casting about for another
language to do really simple MySQL-to-JSON web services, but I have
found nothing that does it as well as Python and Publisher.
-Lars
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythonmac-sig/attachments/20090222/7a8ca671/attachment.htm>
More information about the Pythonmac-SIG
mailing list