2009/12/23 Adam Wolf <[email protected]>: > Hello, > > I'm trying to run mod_wsgi 3.1 under Apache 2.2.14 using a non-default > python installation on Mac OS X 10.6. > > After downloading the mod_wsgi source I run: > > sudo apachectl -k stop > > then > > ./configure --with-python=/usr/local/Cellar/python/2.6.4/bin/python > make > sudo make install > > I then start up apache again > > sudo apachectl -k start > When I cat /var/log/httpd/error_log I see: > [Mon Dec 21 12:27:26 2009] [warn] mod_wsgi: Compiled for Python/2.6.4. > [Mon Dec 21 12:27:26 2009] [warn] mod_wsgi: Runtime using Python/ > 2.6.1. > [Mon Dec 21 12:27:26 2009] [notice] Apache/2.2.14 (Unix) DAV/2 > mod_wsgi/3.1 Python/2.6.1 configured -- resuming normal operations > > When I run otool -L mod_wsgi.so is see: > > mod_wsgi.so: > /System/Library/Frameworks/Python.framework/Versions/2.6/Python > (compatibility version 2.6.0, current version 2.6.1) > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current > version 125.0.0) > > It linking with the system framework- not the one I installed in /usr/ > local using Homebrew. > > Upon Graham's advice at StackOverflow (http://stackoverflow.com/ > questions/1942462/modwsgi-on-snow-leopard-python-version-mismatch) I > tried cleaning my build and then running the configure script with -- > disable-framework > > ./configure --with-python=/usr/local/Cellar/python/2.6.4/bin/python -- > disable-framework > > This gave me the same results. > > Here is the output of one such build attempt: > > Archimedes:~ awolf$ sudo rm /opt/apache2/modules/mod_wsgi.so > Password: > Archimedes:~ awolf$ cd ~/Downloads/mod_wsgi-3.1 > Archimedes:mod_wsgi-3.1 awolf$ rm -rf build > Archimedes:mod_wsgi-3.1 awolf$ make distclean > rm -rf .libs > rm -f mod_wsgi.o mod_wsgi.la mod_wsgi.lo mod_wsgi.slo mod_wsgi.loT > rm -f config.log config.status > rm -rf autom4te.cache > rm -f Makefile Makefile.in > Archimedes:mod_wsgi-3.1 awolf$ ./configure --with-python=/usr/local/ > Cellar/python/2.6.4/bin/python --disable-framework > checking for apxs2... no > checking for apxs... /opt/apache2/bin/apxs > checking Apache version... 2.2.14 > configure: creating ./config.status > config.status: creating Makefile > Archimedes:mod_wsgi-3.1 awolf$ make > /opt/apache2/bin/apxs -c -I/usr/local/Cellar/python/2.6.4/include/ > python2.6 -DNDEBUG -Wc,'-arch x86_64' mod_wsgi.c -L/usr/local/Cellar/ > python/2.6.4/lib -L/usr/local/Cellar/python/2.6.4/lib/python2.6/ > config -arch x86_64 -lpython2.6 -ldl
That this is using: -L/usr/local/Cellar/python/2.6.4/lib -L/usr/local/Cellar/python/2.6.4/lib/python2.6/config -lpython2.6 indicates --enable-framework did what it was mean't to. Ie., switch from using -F/-framework to -L/-l. Can you look in: -L/usr/local/Cellar/python/2.6.4/lib/python2.6/config/Makefile and post the value of the CONFIG_ARGS variable. Is this Python installation one you installed from source, or is it a binary package from somewhere else such as MacPorts? MacPorts give so much grief. While you at it, what do you get for: ls -las /usr/local/Cellar/python/2.6.4/lib ls -las /usr/local/Cellar/python/2.6.4/lib/python2.6/config file /usr/local/Cellar/python/2.6.4/lib/python2.6/config/libpython* Graham > /Library/Webserver/build/libtool --silent --mode=compile gcc -prefer- > pic -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp -g -O2 - > I/opt/apache2/include -I/opt/apache2/include -I/opt/apache2/ > include -arch x86_64 -I/usr/local/Cellar/python/2.6.4/include/ > python2.6 -DNDEBUG -c -o mod_wsgi.lo mod_wsgi.c && touch mod_wsgi.slo > In file included from /usr/local/Cellar/python/2.6.4/include/python2.6/ > Python.h:125, > from mod_wsgi.c:135: > /usr/local/Cellar/python/2.6.4/include/python2.6/modsupport.h:27: > warning: 'PyArg_ParseTuple' is an unrecognized format function type > /Library/Webserver/build/libtool --silent --mode=link gcc -o > mod_wsgi.la -rpath /opt/apache2/modules -module -avoid-version > mod_wsgi.lo -L/usr/local/Cellar/python/2.6.4/lib -L/usr/local/Cellar/ > python/2.6.4/lib/python2.6/config -arch x86_64 -lpython2.6 -ldl > Archimedes:mod_wsgi-3.1 awolf$ sudo make install > /opt/apache2/bin/apxs -i -S LIBEXECDIR=/opt/apache2/modules -n > 'mod_wsgi' mod_wsgi.la > /Library/Webserver/build/instdso.sh SH_LIBTOOL='/Library/Webserver/ > build/libtool' mod_wsgi.la /opt/apache2/modules > /Library/Webserver/build/libtool --mode=install cp mod_wsgi.la /opt/ > apache2/modules/ > cp .libs/mod_wsgi.so /opt/apache2/modules/mod_wsgi.so > cp .libs/mod_wsgi.lai /opt/apache2/modules/mod_wsgi.la > cp .libs/mod_wsgi.a /opt/apache2/modules/mod_wsgi.a > chmod 644 /opt/apache2/modules/mod_wsgi.a > ranlib /opt/apache2/modules/mod_wsgi.a > ---------------------------------------------------------------------- > Libraries have been installed in: > /opt/apache2/modules > > If you ever happen to want to link against installed libraries > in a given directory, LIBDIR, you must either use libtool, and > specify the full pathname of the library, or use the `-LLIBDIR' > flag during linking and do at least one of the following: > - add LIBDIR to the `DYLD_LIBRARY_PATH' environment variable > during execution > > See any operating system documentation about shared libraries for > more information, such as the ld(1) and ld.so(8) manual pages. > ---------------------------------------------------------------------- > chmod 755 /opt/apache2/modules/mod_wsgi.so > Archimedes:mod_wsgi-3.1 awolf$ sudo apachectl -k stop > Archimedes:mod_wsgi-3.1 awolf$ sudo apachectl -k start > > Thanks, > > Adam > > -- > > 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.
