/usr/local/mysql/lib apparently does not appear in your library path. I haven't 
installed a Python MySQL module in some years but earlier this year when I 
installed PHP with MySQL the PHP executables would not link unless I ran all 
the make commands with DYLD_LIBRARY_PATH="/usr/local/mysql/lib". And then I had 
to use install_name_tool as mentioned to get PHP to run. Funny enough, otool 
showed all the other libraries with their full path names. I haven't 
encountered this problem with any other package.

--S.

On Nov 18, 2011, at 7:35 PM, mathew davis wrote:

> ok now I see
> 
> sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/
> mysql/lib/libmysqlclient.18.dylib /usr/local/python_virtualenv/
> baseline/lib/python2.7/site-packages/_mysql.so
> 
> i was wondering how install_name_tool was globally changing references
> to libmysqlclient.18.dylib, now I see it is only patching _mysql.so
> 
> Well that's fixed my problem, but it would be interesting to
> understand why _mysql.so couldn't find libmysqlclient.18.dylib in the
> first place
> 
> 
> thank you for all you help,
> 
> let me know if there is anything I can do if you still wish to get to
> the bottom of this problem
> 
> thank you
> 
> Mathew
> 
> 
> 
> On Nov 19, 2:19 pm, Simon Kesenci <[email protected]> wrote:
>> You left out the last argument, {file which can't load dylib}, probably the 
>> MySQLdb Python module.
>> 
>> --S.
>> 
>> On Nov 18, 2011, at 6:59 PM, mathew davis wrote:
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>> i'm doing something wrong, i'm getting a usage warning that my
>>> install_name_tool syntax is wrong
>> 
>>> (baseline)otter:lib mathew$ pwd
>>> /usr/local/mysql/lib
>>> (baseline)otter:lib mathew$ sudo install_name_tool -change
>>> libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib
>>> Password:
>>> Usage: install_name_tool [-change old new] ... [-rpath old new] ... [-
>>> add_rpath new] ... [-delete_rpath old] ... [-id name] input
>>> (baseline)otter:lib mathew$ otool -L libmysqlclient.18.dylib
>>> libmysqlclient.18.dylib:
>>>    libmysqlclient.18.dylib (compatibility version 18.0.0, current
>>> version 18.0.0)
>>>    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
>>> version 125.0.1)
>> 
>>> On Nov 19, 12:23 pm, Simon Kesenci <[email protected]> wrote:
>>>> I've solved this with install_name_tool:
>> 
>>>> sudo install_name_tool -change libmysqlclient.16.dylib 
>>>> /full/path/to/libmysqlclient.16.dylib {file which can't load dylib}
>> 
>>>> --S.
>> 
>>>> On Nov 18, 2011, at 16:33, Graham Dumpleton <[email protected]> 
>>>> wrote:
>> 
>>>>> This is an issue with how MySQLdb Python module is built. Can you tell
>>>>> me how you installed it?
>> 
>>>>> Did you use pip, or did you download package as tar.gz and run setup.py 
>>>>> in it?
>> 
>>>>> I have tried twice before to sort this out with people on IRC but they
>>>>> would not do what I asked them to help me solve it properly. I am at
>>>>> least most of the way along sorting out what the issue is however. :-)
>> 
>>>>> Graham
>> 
>>>>> On 19 November 2011 08:41, mathew davis <[email protected]> wrote:
>>>>>> I am trying to run django on osx 10.7 (lion) with apache mod_wsgi and
>>>>>> virtualenv.
>>>>>> My site works if I use the django testing server:
>> 
>>>>>>>      (baseline)otter:hello mathew$ python manage.py runserver
>> 
>>>>>> but it doesn't work when I run apache. The core of the error seems to be
>> 
>>>>>>>      Library not loaded: libmysqlclient.16.dylib
>> 
>>>>>> I think its to do with the path apache is using to locate
>>>>>> libmysqlclient.16.dylib
>> 
>>>>>> when I run otool in the lib directory it looks good
>> 
>>>>>>>      otter:lib mathew$ pwd
>>>>>>>          /usr/local/mysql/lib
>> 
>>>>>>>      otter:lib mathew$ otool -L libmysqlclient.16.dylib
>>>>>>>          libmysqlclient.16.dylib:
>>>>>>>              libmysqlclient.16.dylib (compatibility version 16.0.0, 
>>>>>>> current
>>>>>>> version 16.0.0)
>>>>>>>              /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,
>>>>>>> current version 125.0.1)
>> 
>>>>>> but from outside it can't find it
>> 
>>>>>>>      otter:lib mathew$ cd /
>>>>>>>      otter:/ mathew$ otool -L libmysqlclient.16.dylib
>>>>>>>      otool: can't open file: libmysqlclient.16.dylib (No such file or
>>>>>>> directory)
>> 
>>>>>> if i manually set DYLD_LIBRARY_PATH otool works
>> 
>>>>>>> otter:lib mathew$ DYLD_LIBRARY_PATH=/usr/local/mysql/lib otter:lib
>>>>>>> mathew$ otool -L libmysqlclient.16.dylib libmysqlclient.16.dylib:
>>>>>>>     libmysqlclient.16.dylib (compatibility version 16.0.0, current
>>>>>>> version 16.0.0)     /usr/lib/libSystem.B.dylib (compatibility version
>>>>>>> 1.0.0, current version 125.0.1)
>> 
>>>>>> When I run the django testing server, my .bash_profile sets up the
>>>>>> virtualenv and the path to the mysql dynamic library
>> 
>>>>>>>      export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH
>>>>>>>      export PATH
>> 
>>>>>> When i run apache it finds my virtualenv paths, but it doesn't seem to 
>>>>>> find
>>>>>> the dynamic library path.
>> 
>>>>>> I tried adding this path to /usr/sbin/envvars
>> 
>>>>>>>      
>>>>>>> DYLD_LIBRARY_PATH="/usr/lib:/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"
>>>>>>>      export DYLD_LIBRARY_PATH
>> 
>>>>>> and to /private/etc/paths.d/libmysql
>> 
>>>>>>>      /usr/local/mysql/lib
>> 
>>>>>> then restarted the machine
>>>>>> but that has not changed the error message.
>> 
>>>>>>>      Error loading MySQLdb module:
>>>>>>> dlopen(/usr/local/python_virtualenv/baseline/lib/python2.7/site-packages/_mysql.so,
>>>>>>> 2):
>>>>>>>          Library not loaded: libmysqlclient.16.dylib
>> 
>>>>>> I don't think is a permissions issue:
>> 
>>>>>>>      -rwxr-xr-x  1 root  wheel  3787328  4 Dec  2010
>>>>>>> libmysqlclient.16.dylib
>> 
>>>>>>>      drwxr-xr-x  39 root    wheel   1394 18 Nov 21:07 /
>>>>>>>      drwxr-xr-x@ 15 root    wheel    510 24 Oct 22:10 /usr
>>>>>>>      drwxrwxr-x  20 root    admin    680  2 Nov 20:22 /usr/local
>>>>>>>      drwxr-xr-x  20 mathew  admin    680  9 Nov 21:58
>>>>>>> /usr/local/python_virtualenv
>>>>>>>      drwxr-xr-x   6 mathew  admin    204  2 Nov 21:36
>>>>>>> /usr/local/python_virtualenv/baseline
>>>>>>>      drwxr-xr-x   4 mathew  admin    136  2 Nov 21:26
>>>>>>> /usr/local/python_virtualenv/baseline/lib
>>>>>>>      drwxr-xr-x  52 mathew  admin   1768  2 Nov 21:26
>>>>>>> /usr/local/python_virtualenv/baseline/lib/python2.7
>>>>>>>      drwxr-xr-x  18 mathew  admin    612  4 Nov 21:20
>>>>>>> /usr/local/python_virtualenv/baseline/lib/python2.7/site-packages
>>>>>>>      -rwxr-xr-x   1 mathew  admin  66076  2 Nov 21:18
>>>>>>> /usr/local/python_virtualenv/baseline/lib/python2.7/site-packages/_mysql.so
>> 
>>>>>> **What do i need to do so that mod_wsgi will find 
>>>>>> libmysqlclient.16.dylib?**
>> 
>>>>>> apache and mysql are both 64 bit:
>> 
>>>>>>> otter:lib mathew$ file /usr/sbin/httpd /usr/sbin/httpd: Mach-O
>>>>>>> universal binary with 2 architectures /usr/sbin/httpd (for
>>>>>>> architecture x86_64):    Mach-O 64-bit executable x86_64 /usr/sbin/httpd
>>>>>>> (for architecture i386):    Mach-O executable i386 otter:lib mathew$
>> 
>>>>>>> otter:lib mathew$ 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
>> 
>>>>>> here's some more detail of the error:
>> 
>>>>>>> Request URL:    http://hello.local/DjangoVersion:    1.3.1 Exception
>>>>>>> Type:    ImproperlyConfigured Exception Value:     Error loading MySQLdb
>>>>>>> module:
>> 
>>>>>>> dlopen(/usr/local/python_virtualenv/baseline/lib/python2.7/site-packages/_mysql.so,
>>>>>>> 2): Library not loaded: libmysqlclient.16.dylib   Referenced from:
>> 
>>>>>>> /usr/local/python_virtualenv/baseline/lib/python2.7/site-packages/_mysql.so
>>>>>>> Reason: image not found Exception
>>>>>>> Location:
>>>>>>> /usr/local/python_virtualenv/baseline/lib/python2.7/site-packages/django/db/backends/mysql/base.py
>>>>>>> in <module>, line 14 Python Executable:    /usr/sbin/httpd Python
>>>>>>> Version:    2.7.2 Python Path:
>> 
>>>>>>> ['/usr/local/python_virtualenv/baseline/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg',
>> 
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg',
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python27.zip',
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7',
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7/plat-darwin',
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7/plat-mac',
>> 
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7/plat-mac/lib-scriptpackages',
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7/lib-tk',
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7/lib-old',
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7/lib-dynload',
>>>>>>> '/usr/local/Cellar/python/2.7.2/lib/python2.7',
>>>>>>> '/usr/local/Cellar/python/2.7.2/lib/python2.7/plat-darwin',
>>>>>>> '/usr/local/Cellar/python/2.7.2/lib/python2.7/lib-tk',
>>>>>>> '/usr/local/Cellar/python/2.7.2/lib/python2.7/plat-mac',
>> 
>>>>>>> '/usr/local/Cellar/python/2.7.2/lib/python2.7/plat-mac/lib-scriptpackages',
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7/site-packages',
>>>>>>> '/usr/local/python_virtualenv/baseline/lib/python2.7/site-packages/PIL',
>>>>>>> '/Users/mathew/dev',  '/usr/local/mysql/lib/']
>> 
>>>>>> --
>>>>>> 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/-/YIrdgT4hh-oJ.
>>>>>> 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 
>>>>> athttp://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 
>>> athttp://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