Ok, I'll give that a shot now (Apple's 2.6.1 with Homebrew's
postgresql was not compatible with psycopg2).

I'm using 10.6 so shouldn't it be:

--enable-universalsdk=/ MACOSX_DEPLOYMENT_TARGET=10.6

?

Thanks

On Dec 23, 4:11 pm, Graham Dumpleton <[email protected]>
wrote:
> Can you install Python 2.6.4 from source code yourself.
>
> You will need to have XCode installed.
>
> Use 'configure' arguments to Python as documented in:
>
>   ./configure --prefix=/usr/local/python-2.6.4  \
>  --enable-framework=/usr/local/python-2.6.4/frameworks \
>  --enable-universalsdk=/ MACOSX_DEPLOYMENT_TARGET=10.5 \
>  --with-universal-archs=all
>
> This will install stuff under /usr/local/python-2.6.4 and
> /Applications/Python 2.6.
>
> When you build mod_wsgi then use:
>
>   ./configure --with-python=/usr/local/python-2.6.4/bin/python
>
> You obviously will need to install Python wrappers for PostgreSQL and
> other Python packages with that /usr/local/python2.6 installation.
>
> Graham
>
> 2009/12/24 Adam Wolf <[email protected]>:
>
>
>
> > Graham-
>
> > The version of Python 2.6.1 as supplied by Apple is incompatible with
> > the postgres DB adapter psycopg2. A workaround is running:
>
> > defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
>
> > to force python to run in 32 bit mode.
>
> > This solved the problem while using the python development server.
> > However, when I went to set up a production environment using
> > mod_wsgi, psycopg2 started to throw the same error as before:
>
> > Symbol not found: _PQbackendPID
>
> > I imagine that mod_wsgi running in 64-bit mode is forcing python back
> > into 64-bit mode also, which causes psycopg2 to fail. Perhaps I could
> > force mod_wsgi to run in 32-bit mode also... but that kinda sucks.
>
> > Then I found this:
>
> >http://benkreeger.com/personal/conquering-symbol-not-found-_pqbackendpid
>
> > which advised using Homebrew to install python and postgresql to
> > resolve the issue. This did resolve the issue on the django
> > development server in 64-bit mode. However, upon review of this advice
> > I don't see why it is necessary to use the Homebrew python
> > installation.
>
> > I'll give it a shot with Apple's 2.6.1 now...
>
> > On Dec 23, 3:11 pm, Graham Dumpleton <[email protected]>
> > wrote:
> >> 2009/12/24 Adam Wolf <[email protected]>:
>
> >> > Graham-
>
> >> > CONFIG_ARGS=     '--prefix=/usr/local/Cellar/python/2.6.4' 'CC=/
> >> > Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2' 'CFLAGS=-O4 -march=core2 -
> >> > mmmx -msse4.1 -w -pipe' 'LDFLAGS=-L/usr/local/Cellar/readline/6.0/lib'
> >> > 'CPPFLAGS=-I/usr/local/Cellar/readline/6.0/include'
>
> >> > This is a python installation made by the new mac package management
> >> > script Homebrew. I'm following this advice:
>
> >> Which is not installed as a framework install, nor even as a dylib
> >> install. This possibly makes it unusable for embedding such as with
> >> Apache/mod_wsgi as it only provides a static library and under MacOS X
> >> it may not be possible to link them into dynamically loadable objects.
>
> >> Is there a specific reason why you cannot just use Python 2.6.1 as
> >> supplied by Apple? What changes are there in 2.6.2-2.6.4 that you
> >> cannot do without?
>
> >> Graham
>
> >> >http://benkreeger.com/personal/conquering-symbol-not-found-_pqbackendpid
>
> >> > to solve the problem described there. The alternative is to force
> >> > everything, including mod_wsgi, to run in 32-bit mode which is not
> >> > preferable to me.
>
> >> > Archimedes:config awolf$ ls -las /usr/local/Cellar/python/2.6.4/lib
> >> > total 8376
> >> >   0 drwxr-xr-x    4 root  wheel      136 Dec 19 18:33 .
> >> >   0 drwxr-xr-x    8 root  wheel      272 Dec 19 18:33 ..
> >> > 8376 -r--r--r--    2 root  wheel  4285288 Dec 19 18:33 libpython2.6.a
> >> >   0 drwxr-xr-x  631 root  wheel    21454 Dec 19 18:33 python2.6
> >> > Archimedes:config awolf$ ls -las /usr/local/Cellar/python/2.6.4/lib/
> >> > python2.6/config
> >> > total 8576
> >> >   0 drwxr-xr-x   12 root  wheel      408 Dec 19 18:33 .
> >> >   0 drwxr-xr-x  631 root  wheel    21454 Dec 19 18:33 ..
> >> >  88 -rw-r--r--    1 root  wheel    42950 Dec 19 18:33 Makefile
> >> >  40 -rw-r--r--    1 root  wheel    18265 Dec 19 18:33 Setup
> >> >   8 -rw-r--r--    1 root  wheel      368 Dec 19 18:33 Setup.config
> >> >   8 -rw-r--r--    1 root  wheel       41 Dec 19 18:33 Setup.local
> >> >   8 -rw-r--r--    1 root  wheel     2077 Dec 19 18:33 config.c
> >> >   8 -rw-r--r--    1 root  wheel     1457 Dec 19 18:33 config.c.in
> >> >  16 -rwxr-xr-x    1 root  wheel     7122 Dec 19 18:33 install-sh
> >> > 8376 -r--r--r--    2 root  wheel  4285288 Dec 19 18:33 libpython2.6.a
> >> >  16 -rwxr-xr-x    1 root  wheel     7431 Dec 19 18:33 makesetup
> >> >   8 -rw-r--r--    1 root  wheel     2060 Dec 19 18:33 python.o
> >> > Archimedes:config awolf$ file /usr/local/Cellar/python/2.6.4/lib/
> >> > python2.6/config/libpython*
> >> > /usr/local/Cellar/python/2.6.4/lib/python2.6/config/libpython2.6.a:
> >> > current ar archive random library
>
> >> > Thanks,
>
> >> > -Adam
>
> >> > On Dec 22, 7:54 pm, Graham Dumpleton <[email protected]>
> >> > wrote:
> >> >> 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
>
> ...
>
> 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.


Reply via email to