Назад | Перейти на главную страницу

Ошибка при установке mod_wsgi в centos с помощью python2.7

Когда я делаю "make" в папке mod_wsgi, я получаю эту ошибку

Я настроил, используя следующие

./configure --with-apxs=/usr/local/apache/bin/apxs   --with-python=/opt/python27/bin/python

/ usr / bin / ld: /opt/python27/lib/libpython2.7.a(node.o): перемещение R_X86_64_32 против «локального символа» не может использоваться при создании общего объекта; перекомпилировать с помощью -fPIC /opt/python27/lib/libpython2.7.a: не удалось прочитать символы: неверное значение collect2: ld вернул 1 статус выхода apxs: Ошибка: команда завершилась неудачно с rc = 65536

Эта ссылка есть решение, но я не мог его полностью понять

1)How can i found that i have compiled x32bit or x64 bit version of python 
2)I didn't understand about what symbolic link he was talking about

Важным моментом является пересборка Python с помощью --enable-shared. Комментарии символической ссылки не актуальны, если вы этого не сделали, и не должны применяться даже к последним версиям Python / mod_WSGI.

Перекомпилировать Python

Повторная компиляция Python с --enable-shared одного недостаточно, потому что вы получите ошибка при загрузке разделяемых библиотек.

Предполагается, что вы установите Python 2.7.x в /usr/local/bin, вы должны настроить его с помощью LDFLAGS вариант:

cd Python-2.7.x
make distclean  # For re-compiling only
./configure --enable-shared --prefix=/usr/local LDFLAGS="-Wl,--rpath=/usr/local/lib"
make
sudo make altinstall

(Используйте altinstall вместо того install чтобы избежать изменения символических ссылок системного Python и страниц руководства. Коротко, install знак равно altinstall + bininstall + maninstall)

Компилировать mod_wsgi

Предполагается, что (скомпилированная версия) Apache установлена ​​в /usr/local/apache, скомпилировать mod_wsgi против Python 2.7 вот так:

cd mod_wsgi-x.x.x
./configure LDFLAGS="-Wl,--rpath -Wl,/usr/local/lib" --with-apxs=/usr/local/apache/bin/apxs --with-python=/usr/local/bin/python2.7
make
sudo make install

Если вы скомпилируете mod_wsgi без LDFLAGS, Apache пожалуется:

Cannot load /usr/local/apache/modules/mod_wsgi.so into server: libpython2.7.so.1.0: cannot open shared object file: No such file or directory