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.


Reply via email to