Когда я делаю "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 с --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