Есть ли кто-нибудь, кому удалось скомпилировать mod_wsgi для apache на Mac OS X Leopard? - PullRequest
4 голосов
/ 15 декабря 2008

Я работаю над проектом Django, который требует отладки на многопоточном сервере. Я считаю, что с mod_wsgi 2.0+ проще всего работать из-за простых обходных путей для перезагрузки модуля python. Проблема не в том, чтобы заставить его скомпилироваться на Leopard. Есть ли кто-нибудь, кому удалось сделать это до сих пор, для встроенного Apache или MAMP. Буду признателен, если кто-нибудь отправит ссылку на предварительно скомпилированный бинарный файл (для intel, python 2.5, apache 2.2 или 2.0).


После 3 часов проб и ошибок мне удалось скомпилировать mod_wsgi 2.3 для Apache, который поставляется с Leopard. Вот инструкции на случай, если кому-то еще это понадобится.

  1. . / Configure
  2. Изменить 2 строки в Makefile

    CFLAGS = -Wc, '- arch i386'

    LDFLAGS = -arch i386 -Wl, -F / Library / Frameworks -framework Python -u _PyMac_Error

  3. make && sudo make install

  4. Создайте тонкий двоичный файл из исходного httpd

    cd / usr / sbin

    sudo mv ./httpd ./httpd.fat

    sudo lipo ./httpd.fat - тонкий i386 - выход ./httpd.i386

    sudo ln -s ./httpd.i386 ./httpd

Это должно работать на Intel MacBook, MacBook Pro, IMAC и Mac Mini. Как я понял, проблема в том, что modwsgi не будет компилироваться с MacPython 2.5.2 из-за какой-то странной проблемы несоответствия архитектуры. Но если вы скомпилируете его как тонкий двоичный файл, он не будет работать с толстым двоичным файлом Apache. Так что этот взлом решает проблему. Остальное - довольно стандартная конфигурация, как и на любой другой платформе.

1 Ответ

2 голосов
/ 25 декабря 2008

Это не дает прямого ответа на ваш вопрос, но задумывались ли вы об использовании чего-то вроде MacPorts для такого рода вещей? Если вы собираете много подобного программного обеспечения, MacPorts действительно может сделать вашу жизнь проще, поскольку создание программного обеспечения и зависимостей происходит практически автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...