Do you remember what you did when you build the MySQL-python package in the first place?
Did you explicitly put MySQL bin directory in PATH or did you modify the site.cfg file to say where it was? Did you modify any of the default settings in site.cfg? If you rebuilt it multiple times or have upgraded MySQL, did you start over building Python package from a clean source package and not one with existing build/dist directories present? If you still have the source package and haven't cleaned it, what do you get for: $ otool -L build/lib.macosx-10.6-universal-2.6/_mysql.so build/lib.macosx-10.6-universal-2.6/_mysql.so: /usr/local/mysql/lib/libmysqlclient_r.16.dylib (compatibility version 17.0.0, current version 17.0.0) /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.10) in the source package. Right now thinking something went wrong with the original build. Not only aren't you using the reentrant MySQL library, but no full path encoded for it. Perhaps go back to fresh MySQL-python package and build again and show us the steps you did and the output as shown below as an example. Most interested to see the final link line, which for me is: gcc-4.2 -Wl,-F. -bundle -undefined dynamic_lookup build/temp.macosx-10.6-universal-2.6/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.6-universal-2.6/_mysql.so -arch x86_64 $ rm -rf build clean $ PATH=/usr/local/mysql-5.1.53-osx10.6-x86_64/bin:$PATH python setup.py build running build running build_py creating build creating build/lib.macosx-10.6-universal-2.6 copying _mysql_exceptions.py -> build/lib.macosx-10.6-universal-2.6 creating build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/__init__.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/converters.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/connections.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/cursors.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/release.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/times.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb creating build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/__init__.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/CR.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/ER.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/FLAG.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/REFRESH.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants running build_ext building '_mysql' extension creating build/temp.macosx-10.6-universal-2.6 gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/mysql-5.1.53-osx10.6-x86_64/include -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _mysql.c -o build/temp.macosx-10.6-universal-2.6/_mysql.o -g -Os -arch x86_64 -fno-common -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL In file included from _mysql.c:36: /usr/local/mysql-5.1.53-osx10.6-x86_64/include/my_config.h:1069:1: warning: "HAVE_WCSCOLL" redefined In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:8, from pymemcompat.h:10, from _mysql.c:29: /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pyconfig.h:803:1: warning: this is the location of the previous definition gcc-4.2 -Wl,-F. -bundle -undefined dynamic_lookup build/temp.macosx-10.6-universal-2.6/_mysql.o -L/usr/local/mysql-5.1.53-osx10.6-x86_64/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.6-universal-2.6/_mysql.so -arch x86_64 Grumpys-MacBook-Pro-15:MySQL-python-1.2.3 graham$ rm -rf build cleanGrumpys-MacBook-Pro-15:MySQL-python-1.2.3 graham$ PATH=/usr/local/mysql/bin:$PATH python setup.py build running build running build_py creating build creating build/lib.macosx-10.6-universal-2.6 copying _mysql_exceptions.py -> build/lib.macosx-10.6-universal-2.6 creating build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/__init__.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/converters.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/connections.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/cursors.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/release.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb copying MySQLdb/times.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb creating build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/__init__.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/CR.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/ER.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/FLAG.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/REFRESH.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants running build_ext building '_mysql' extension creating build/temp.macosx-10.6-universal-2.6 gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/mysql/include -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _mysql.c -o build/temp.macosx-10.6-universal-2.6/_mysql.o -g -Os -arch x86_64 -fno-common -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL In file included from _mysql.c:36: /usr/local/mysql/include/my_config.h:1069:1: warning: "HAVE_WCSCOLL" redefined In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:8, from pymemcompat.h:10, from _mysql.c:29: /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pyconfig.h:803:1: warning: this is the location of the previous definition gcc-4.2 -Wl,-F. -bundle -undefined dynamic_lookup build/temp.macosx-10.6-universal-2.6/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.6-universal-2.6/_mysql.so -arch x86_64 Graham On 25 August 2011 02:07, Jianbao Tao <jianbao....@gmail.com> wrote: > I tried all the 'otool -L' suggestions, but nothing stand out compared to > previous results. > Here is what I got from 'otool -l', which I have no clue what these lines > mean: >>$ otool -l >> /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so > /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so: > Load command 0 > cmd LC_SEGMENT_64 > cmdsize 632 > segname __TEXT > vmaddr 0x0000000000000000 > vmsize 0x0000000000006000 > fileoff 0 > filesize 24576 > maxprot 0x00000007 > initprot 0x00000005 > nsects 7 > flags 0x0 > Section > sectname __text > segname __TEXT > addr 0x0000000000000860 > size 0x00000000000037c8 > offset 2144 > align 2^0 (1) > reloff 0 > nreloc 0 > flags 0x80000400 > reserved1 0 > reserved2 0 > Section > sectname __stubs > segname __TEXT > addr 0x0000000000004028 > size 0x0000000000000258 > offset 16424 > align 2^1 (2) > reloff 0 > nreloc 0 > flags 0x80000408 > reserved1 0 (index into indirect symbol table) > reserved2 6 (size of stubs) > Section > sectname __stub_helper > segname __TEXT > addr 0x0000000000004280 > size 0x00000000000003f8 > offset 17024 > align 2^2 (4) > reloff 0 > nreloc 0 > flags 0x80000400 > reserved1 0 > reserved2 0 > Section > sectname __cstring > segname __TEXT > addr 0x0000000000004678 > size 0x0000000000000854 > offset 18040 > align 2^3 (8) > reloff 0 > nreloc 0 > flags 0x00000002 > reserved1 0 > reserved2 0 > Section > sectname __const > segname __TEXT > addr 0x0000000000004ecc > size 0x0000000000000100 > offset 20172 > align 2^0 (1) > reloff 0 > nreloc 0 > flags 0x00000000 > reserved1 0 > reserved2 0 > Section > sectname __unwind_info > segname __TEXT > addr 0x0000000000004fcc > size 0x00000000000000f8 > offset 20428 > align 2^0 (1) > reloff 0 > nreloc 0 > flags 0x00000000 > reserved1 0 > reserved2 0 > Section > sectname __eh_frame > segname __TEXT > addr 0x00000000000050c8 > size 0x0000000000000f38 > offset 20680 > align 2^3 (8) > reloff 0 > nreloc 0 > flags 0x00000000 > reserved1 0 > reserved2 0 > Load command 1 > cmd LC_SEGMENT_64 > cmdsize 552 > segname __DATA > vmaddr 0x0000000000006000 > vmsize 0x0000000000004000 > fileoff 24576 > filesize 16384 > maxprot 0x00000007 > initprot 0x00000003 > nsects 6 > flags 0x0 > Section > sectname __got > segname __DATA > addr 0x0000000000006000 > size 0x0000000000000060 > offset 24576 > align 2^3 (8) > reloff 0 > nreloc 0 > flags 0x00000006 > reserved1 100 (index into indirect symbol table) > reserved2 0 > Section > sectname __nl_symbol_ptr > segname __DATA > addr 0x0000000000006060 > size 0x0000000000000010 > offset 24672 > align 2^3 (8) > reloff 0 > nreloc 0 > flags 0x00000006 > reserved1 112 (index into indirect symbol table) > reserved2 0 > Section > sectname __la_symbol_ptr > segname __DATA > addr 0x0000000000006070 > size 0x0000000000000320 > offset 24688 > align 2^3 (8) > reloff 0 > nreloc 0 > flags 0x00000007 > reserved1 114 (index into indirect symbol table) > reserved2 0 > Section > sectname __data > segname __DATA > addr 0x00000000000063a0 > size 0x00000000000037bf > offset 25504 > align 2^5 (32) > reloff 0 > nreloc 0 > flags 0x00000000 > reserved1 0 > reserved2 0 > Section > sectname __const > segname __DATA > addr 0x0000000000009b60 > size 0x0000000000000018 > offset 39776 > align 2^4 (16) > reloff 0 > nreloc 0 > flags 0x00000000 > reserved1 0 > reserved2 0 > Section > sectname __bss > segname __DATA > addr 0x0000000000009b78 > size 0x0000000000000068 > offset 0 > align 2^3 (8) > reloff 0 > nreloc 0 > flags 0x00000001 > reserved1 0 > reserved2 0 > Load command 2 > cmd LC_SEGMENT_64 > cmdsize 72 > segname __LINKEDIT > vmaddr 0x000000000000a000 > vmsize 0x0000000000007000 > fileoff 40960 > filesize 25800 > maxprot 0x00000007 > initprot 0x00000001 > nsects 0 > flags 0x0 > Load command 3 > cmd LC_DYLD_INFO_ONLY > cmdsize 48 > rebase_off 40960 > rebase_size 184 > bind_off 41144 > bind_size 264 > weak_bind_off 0 > weak_bind_size 0 > lazy_bind_off 41408 > lazy_bind_size 2496 > export_off 43904 > export_size 128 > Load command 4 > cmd LC_SYMTAB > cmdsize 24 > symoff 44032 > nsyms 638 > stroff 55096 > strsize 11664 > Load command 5 > cmd LC_DYSYMTAB > cmdsize 80 > ilocalsym 0 > nlocalsym 520 > iextdefsym 520 > nextdefsym 5 > iundefsym 525 > nundefsym 113 > tocoff 0 > ntoc 0 > modtaboff 0 > nmodtab 0 > extrefsymoff 0 > nextrefsyms 0 > indirectsymoff 54240 > nindirectsyms 214 > extreloff 0 > nextrel 0 > locreloff 0 > nlocrel 0 > Load command 6 > cmd LC_UUID > cmdsize 24 > uuid 2239CFAD-CD6E-35D1-90C4-6B95C7A944A0 > Load command 7 > cmd LC_LOAD_DYLIB > cmdsize 48 > name libmysqlclient.18.dylib (offset 24) > time stamp 2 Wed Dec 31 17:00:02 1969 > current version 18.0.0 > compatibility version 18.0.0 > Load command 8 > cmd LC_LOAD_DYLIB > cmdsize 56 > name /usr/lib/libSystem.B.dylib (offset 24) > time stamp 2 Wed Dec 31 17:00:02 1969 > current version 125.2.0 > compatibility version 1.0.0 > > On Wed, Aug 24, 2011 at 2:46 AM, Graham Dumpleton > <graham.dumple...@gmail.com> wrote: >> >> When I do it I get: >> >> $ otool -L _mysql.so >> _mysql.so: >> /usr/local/mysql/lib/libmysqlclient_r.16.dylib (compatibility >> version >> 17.0.0, current version 17.0.0) >> /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version >> 1.2.3) >> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current >> version 125.2.10) >> >> See what I mean about having full path. That way I know for sure that >> is being able to be found. >> >> Without the full path, says that doesn't actually know where to find it. >> >> What happens if you do: >> >> cd /usr/local/mysql/lib >> >> otool -L >> /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so >> >> I can't remember if the current directory is looked at. >> >> The try: >> >> DYLD_FALLBACK_LIBRARY_PATH=/usr/local/mysql/lib otool -L >> >> /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so >> >> but run it from outside of the lib directory. >> >> Finally you might also try: >> >> otool -l >> /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so >> >> That is lower case 'L' instead of upper case. >> >> What do you get for load commands related to libraries in the output. >> >> Load command 7 >> cmd LC_LOAD_DYLIB >> cmdsize 72 >> name /usr/local/mysql/lib/libmysqlclient_r.16.dylib (offset 24) >> time stamp 2 Thu Jan 1 10:00:02 1970 >> current version 17.0.0 >> compatibility version 17.0.0 >> Load command 8 >> cmd LC_LOAD_DYLIB >> cmdsize 48 >> name /usr/lib/libz.1.dylib (offset 24) >> time stamp 2 Thu Jan 1 10:00:02 1970 >> current version 1.2.3 >> compatibility version 1.0.0 >> Load command 9 >> cmd LC_LOAD_DYLIB >> cmdsize 56 >> name /usr/lib/libSystem.B.dylib (offset 24) >> time stamp 2 Thu Jan 1 10:00:02 1970 >> current version 125.2.10 >> compatibility version 1.0.0 >> >> Graham >> >> On 24 August 2011 14:19, Jianbao Tao <jianbao....@gmail.com> wrote: >> > Alright. Here is what I got. >> >>$ DYLD_LIBRARY_PATH=/usr/local/mysql/lib otool -L >> >> >> >> /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so >> > >> > /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so: >> > 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.2.0) >> > Not so much of difference, though. Any ideas? >> > On Tue, Aug 23, 2011 at 10:10 PM, Graham Dumpleton >> > <graham.dumple...@gmail.com> wrote: >> >> >> >> On 24 August 2011 13:55, Jianbao Tao <jianbao....@gmail.com> wrote: >> >> > Sure. Here is what I got. >> >> >>$ file >> >> >> >> >> >> >> >> >> /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so >> >> > >> >> > >> >> > /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so: >> >> > Mach-O 64-bit bundle x86_64 >> >> >>$ otool -L >> >> >> >> >> >> >> >> >> /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so >> >> > >> >> > >> >> > /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so: >> >> > 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.2.0) >> >> > I don't see why full path would make any difference, though. >> >> > Any thoughts? >> >> >> >> The otool output should show a full path name for >> >> 'libmysqlclient.18.dylib' else it is indicating that it didn't know >> >> where to find it. This worries me a bit as if otool doesn't know where >> >> it is coming from then under Apache it will not either. Ie., could not >> >> resolve it and thus why image not found. >> >> >> >> This may be the actual problem. Ie., Apache doesn't know where to find >> >> the library at run time and not the 32 bit vs 64 bit issue. >> >> >> >> Try running: >> >> >> >> DYLD_LIBRARY_PATH=/usr/local/mysql/lib otool -L >> >> >> >> >> >> /Users/jianbao/projects/tao.com/djangoSite/lib/python2.7/site-packages/_mysql.so >> >> >> >> What do you get for that? >> >> >> >> Graham >> >> >> >> > On Tue, Aug 23, 2011 at 9:39 PM, Graham Dumpleton >> >> > <graham.dumple...@gmail.com> wrote: >> >> >> >> >> >> On 24 August 2011 12:31, Jianbao Tao <jianbao....@gmail.com> 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 >> >> >> > <graham.dumple...@gmail.com> 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 <jianbao....@gmail.com> >> >> >> >> 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 >> >> >> >> > <graham.dumple...@gmail.com> wrote: >> >> >> >> > >> >> >> >> > On 24 August 2011 08:58, Jim <jianbao....@gmail.com> 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 modwsgi@googlegroups.com. >> >> >> >> >> To unsubscribe from this group, send email to >> >> >> >> >> modwsgi+unsubscr...@googlegroups.com. >> >> >> >> >> 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 modwsgi@googlegroups.com. >> >> >> >> > To unsubscribe from this group, send email to >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > modwsgi+unsubscr...@googlegroups.com <modwsgi%2bunsubscr...@googlegroups.com>. >> >> >> >> > 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 modwsgi@googlegroups.com. >> >> >> >> To unsubscribe from this group, send email to >> >> >> >> modwsgi+unsubscr...@googlegroups.com. >> >> >> >> 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 modwsgi@googlegroups.com. >> >> >> > To unsubscribe from this group, send email to >> >> >> > modwsgi+unsubscr...@googlegroups.com. >> >> >> > 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 modwsgi@googlegroups.com. >> >> >> To unsubscribe from this group, send email to >> >> >> modwsgi+unsubscr...@googlegroups.com. >> >> >> 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 modwsgi@googlegroups.com. >> >> > To unsubscribe from this group, send email to >> >> > modwsgi+unsubscr...@googlegroups.com. >> >> > 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 modwsgi@googlegroups.com. >> >> To unsubscribe from this group, send email to >> >> modwsgi+unsubscr...@googlegroups.com. >> >> 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 modwsgi@googlegroups.com. >> > To unsubscribe from this group, send email to >> > modwsgi+unsubscr...@googlegroups.com. >> > 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 modwsgi@googlegroups.com. >> To unsubscribe from this group, send email to >> modwsgi+unsubscr...@googlegroups.com. >> 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 modwsgi@googlegroups.com. > To unsubscribe from this group, send email to > modwsgi+unsubscr...@googlegroups.com. > 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 modwsgi@googlegroups.com. To unsubscribe from this group, send email to modwsgi+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/modwsgi?hl=en.