Я пытаюсь скомпилировать mod_wsgi (версия 3.3), Python 2.6, на сервере CentOS - но под virtualenv
, но безуспешно. Я получаю сообщение об ошибке:
/ USR / бен / л.д.:
/home/python26/lib/libpython2.6.a(node.o):
перемещение R_X86_64_32 против `a
местный символ "не может быть использован, когда
создание общего объекта; перекомпилировать с
-fPIC
/ дома / python26 / Библиотека / libpython2.6.a:
не может прочитать символы: неверное значение
В соответствии с документами mod_wsgi о проблемах установки , возможно, что файл libpython2.6.a :
- не там
- не был сгенерирован с shared
- было сгенерировано для 32-битной машины, а не для 64-битной.
Ну, файл находится в нужном месте и доступен для чтения. Я попытался перекомпилировать Python 2.6 с опцией --enable-shared
, но вся компиляция взорвалась, и примерно в каждом файле была одна и та же ошибка, что libpython2.6.a было скрыто.
Я не знаю , что Python компилировал для 64-битной системы, но когда я его запустил, сделал:
import platform
print platform.platform()
>>>Linux-2.6.18-028stab070.4-x86_64-with-redhat-5.6-Final
Так как Python думает, что он на x86_64, я бы надеялся , что он скомпилирован для 64-битной системы - если у кого-то есть способ подтвердить это, я был бы признателен.
Я попытался настроить make-файл mod_wsgi как с, так и без --python = / home /[...]/ python2.6, оба пути были взорваны.
Я также пытался скомпилировать mod_wsgi вне из virtualenv
, используя Python 2.4, и он работал нормально. К сожалению, это не поможет мне, если я собираюсь использовать virtualenv
:)
Кто-нибудь знает, как мне заставить mod_wsgi скомпилировать в virtualenv
?