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/Django Version: 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 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.