the thing is I have tried to add the strange thing is I did try to set DYLD_LIBRARY_PATH, but it didn't work.
for now I'm happy that configuration is work, but next time I install python mysql, I'll experiment again and seee if I can find a way to make it work without install_name_tool thank you simon On Nov 19, 3:31 pm, Simon Kesenci <[email protected]> wrote: > /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 > > ... > > read more » -- 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.
