Я пытаюсь запустить mod_wsgi 3.1 под Apache 2.2.14, используя установку Python не по умолчанию в Mac OS X 10.6.
После загрузки исходного кода mod_wsgi я запускаю:
sudo apachectl -k stop
тогда
./configure --with-python=/usr/local/Cellar/python/2.6.4/bin/python
make
sudo make install
Затем я снова запускаю apache
sudo apachectl -k start
Когда я cat / var / log / httpd / error_log, я вижу:
[Пн. 21 дек. 12:27:26 2009] [warn] mod_wsgi: Скомпилировано для Python / 2.6.4.
[Пн. 21 дек. 12:27:26 2009] [warn] mod_wsgi: Среда выполнения с использованием Python / 2.6.1.
[Пн. 21 дек. 12:27:26 2009] [извещение] Apache / 2.2.14 (Unix) DAV / 2 mod_wsgi / 3.1 Python / 2.6.1 настроен - возобновление нормальной работы
Когда я запускаю otool -L mod_wsgi.so, это выглядит так:
mod_wsgi.so:
/ Система / Библиотека / Каркасы / Python.framework / Версии / 2.6 / Python (версия совместимости 2.6.0, текущая версия 2.6.1)
/ usr / lib / libSystem.B.dylib (совместимость версия 1.0.0, текущая версия 125.0.0)
Что дает? Почему это связано с системной платформой?
Вот вывод моих команд настройки и сборки mod_wsgi:
Archimedes: mod_wsgi-3.1 awolf $ ./configure --with-python = / usr / local / Cellar / python / 2.6.4 / bin / python
проверка на apxs2 ... нет
проверка на наличие apxs ... / opt / apache2 / bin / apxs
проверка версии Apache ... 2.2.14
настройка: создание ./config.status
config.status: создание Makefile
Архимед: 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
/ Библиотека / Веб-сервер / 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
В файле, включенном в /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: предупреждение: PyArg_ParseTuple - это нераспознанный тип функции формата
/ Библиотека / Веб-сервер / build / libtool --silent --mode = link gcc -o mod_wsgi.la -rpath / opt / apache2 / modules -module -avoid-версия 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
Архимед: mod_wsgi-3.1 awolf $ sudo make install
Пароль:
/ opt / apache2 / bin / apxs -i -S LIBEXECDIR = / opt / apache2 / modules -n 'mod_wsgi' mod_wsgi.la
/ Библиотека / Веб-сервер / build / instdso.sh SH_LIBTOOL = '/ Библиотека / Веб-сервер / build / libtool' mod_wsgi.la / opt / apache2 / modules
/ Библиотека / Веб-сервер / build / libtool --mode = установить 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