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 /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 
>> > 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.
>
>
>

--

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