On 24 August 2011 12:31, Jianbao Tao <[email protected]> wrote:
> Graham,
> This is what I got.
>>$ file ./lib/python2.7/site-packages/_mysql.so
> ./lib/python2.7/site-packages/_mysql.so: Mach-O 64-bit bundle x86_64
>>$ otool -L ./lib/python2.7/site-packages/_mysql.so
> ./lib/python2.7/site-packages/_mysql.so:
> libmysqlclient.18.dylib (compatibility version 18.0.0, current version
> 18.0.0)

Can you change working directory and run this again with full path
name to _mysql.so.

It says libmysqlclient.18.dylib but missing full path context to know
for sure where that is coming from.

> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
> 125.2.0)
> So, it seems _mysql.so is already for x86_64 architecture. But there is a
> inconsistency about libSystem.B.dylib according the versions reported by
> otool. But I am not sure if that dylib is ever used by MySQLdb or not.

No so worried about the system library versioning. Probably normal.

Graham

> Any thoughts?
> Jim
> On Tue, Aug 23, 2011 at 6:41 PM, Graham Dumpleton
> <[email protected]> wrote:
>>
>> What do you get if you run 'file' on _mysql.so extension module file in
>> Python installation? Also run 'otool -L _mysql.so' as well to see what
>> library it is finding. You have 64 bit libraries so should be okay unless
>> you have 32 bit somewhere else and it is finding that instead.
>>
>> Graham
>>
>> On Wednesday, 24 August 2011, Jianbao Tao <[email protected]> wrote:
>> > Thank you so much, Graham. You may have pointed me to the right
>> > direction.
>> > So, the following is what I get, where I basically filed all
>> > libmysqlclient* files under /usr/local/mysql/lib/. It seems the mysql I
>> > installed is for i386 architecture, but all the libmysqlclient files seem
>> > for x86_64, which is really confusing. Anyway, do you have any ideas of
>> > what's happening here?
>> >>$ mysql --version
>> > mysql  Ver 14.14 Distrib 5.5.14, for osx10.6 (i386) using readline 5.1
>> >>$ ls /usr/local/mysql/lib/libmysqlclient*
>> > /usr/local/mysql/lib/libmysqlclient.18.dylib
>> > /usr/local/mysql/lib/libmysqlclient_r.18.dylib
>> > /usr/local/mysql/lib/libmysqlclient.a
>> >  /usr/local/mysql/lib/libmysqlclient_r.a
>> > /usr/local/mysql/lib/libmysqlclient.dylib
>> >  /usr/local/mysql/lib/libmysqlclient_r.dylib
>> >>$ file /usr/local/mysql/lib/libmysqlclient.18.dylib
>> > /usr/local/mysql/lib/libmysqlclient.18.dylib: Mach-O 64-bit dynamically
>> > linked shared library x86_64
>> >>$ file /usr/local/mysql/lib/libmysqlclient.dylib
>> > /usr/local/mysql/lib/libmysqlclient.dylib: Mach-O 64-bit dynamically
>> > linked shared library x86_64
>> >>$ file /usr/local/mysql/lib/libmysqlclient.a
>> > /usr/local/mysql/lib/libmysqlclient.a: current ar archive random library
>> >>$ file /usr/local/mysql/lib/libmysqlclient_r.18.dylib
>> > /usr/local/mysql/lib/libmysqlclient_r.18.dylib: Mach-O 64-bit
>> > dynamically linked shared library x86_64
>> >>$ file /usr/local/mysql/lib/libmysqlclient_r.dylib
>> > /usr/local/mysql/lib/libmysqlclient_r.dylib: Mach-O 64-bit dynamically
>> > linked shared library x86_64
>> >>$ file /usr/local/mysql/lib/libmysqlclient_r.a
>> > /usr/local/mysql/lib/libmysqlclient_r.a: current ar archive random
>> > library
>> >
>> >
>> > On Tue, Aug 23, 2011 at 5:09 PM, Graham Dumpleton
>> > <[email protected]> wrote:
>> >
>> > On 24 August 2011 08:58, Jim <[email protected]> wrote:
>> >> Hello folks,
>> >> This probably has been discussed many times, but I still can't find any
>> >> solution yet. Basically, it turns out that python can load MySQLdb just
>> >> fine, but Apache can't load MySQLdb from the wsgi script.
>> >> Here is the configuration of my machine.
>> >> Mac OS X Snow Leopard 10.6.8
>> >> Apache2 (shipped with Snow Leopard)
>> >
>> > Which is fat and by default will run as 64 bit.
>> >
>> >> Python 2.7 (from python.org)
>> >
>> > Which I believe now comes as fat binary so should be okay.
>> >
>> >> virtualenv
>> >> MySQL-python 1.2.3
>> >
>> > This is where problems start.
>> >
>> > Because Apache is going to run as 64 bit, and because MySQL client
>> > libraries are not fat but for a specific architecture, you need to
>> > ensure you installed 64 bit MySQL and not 32 but version.
>> >
>> > For example, on my system I have:
>> >
>> >  mysql-5.1.53-osx10.6-x86_64
>> >
>> > and get:
>> >
>> >  $ file /usr/local/mysql/lib/libmysqlclient.16.dylib
>> >  /usr/local/mysql/lib/libmysqlclient.16.dylib: Mach-O 64-bit
>> > dynamically linked shared library x86_64
>> >
>> > I suspect you will find that yours is only 32 bit and not 64 bit. That
>> > is why you would get error:
>> >
>> >  Reason: image not found
>> >
>> > Can you run the 'file' command on the dylib and see what it says.
>> >
>> > Graham
>> >
>> >> BTW, I can import MySQLdb with no problem under python interpreter.
>> >> I am using python2.7 in a virtual environment created by virtualenv.
>> >> Here is
>> >> the error info extracted from the Apache error log. To make the lines
>> >> shorter, I deleted all the time tags in the brackets.
>> >> Any ideas how to fix it?
>> >> [] mod_wsgi (pid=3136): Target WSGI script
>> >> '/Users/jianbao/projects/tao.com/mysite/apache/django.wsgi' cannot be
>> >> loaded
>> >> as Python module.
>> >> [] mod_wsgi (pid=3136): Exception occurred processing WSGI script
>> >> '/Users/jianbao/projects/tao.com/mysite/apache/django.wsgi'.
>> >> [] Traceback (most recent call last):
>> >> []   File "/Users/jianbao/projects/tao.com/mysite/apache/django.wsgi",
>> >> line
>> >> 56, in <module>
>> >> []     import MySQLdb
>> >> []   File
>> >>
>> >> "/Users/jianbao/projects/tao.com/mysite/lib/python2.7/site-packages/MySQLdb/__init__.py",
>> >> line 19, in <module>
>> >> []     import _mysql
>> >> [] ImportError:
>> >>
>> >> dlopen(/Users/jianbao/projects/tao.com/mysite/lib/python2.7/site-packages/_mysql.so,
>> >> 2): Library not loaded: libmysqlclient.18.dylib
>> >> []   Referenced from:
>> >>
>> >> /Users/jianbao/projects/tao.com/mysite/lib/python2.7/site-packages/_mysql.so
>> >> []   Reason: image not found
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> >> Groups
>> >> "modwsgi" group.
>> >> To view this discussion on the web visit
>> >> https://groups.google.com/d/msg/modwsgi/-/_S2GuYUGqosJ.
>> >> To post to this group, send email to [email protected].
>> >> To unsubscribe from this group, send email to
>> >> [email protected].
>> >> For more options, visit this group at
>> >> http://groups.google.com/group/modwsgi?hl=en.
>> >>
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "modwsgi" group.
>> > To post to this group, send email to
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups "modwsgi" group.
>> > To post to this group, send email to [email protected].
>> > To unsubscribe from this group, send email to
>> > [email protected] <modwsgi%[email protected]>.
>> > For more options, visit this group at
>> > http://groups.google.com/group/modwsgi?hl=en.
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "modwsgi" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/modwsgi?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/modwsgi?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to