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.

Reply via email to