Я пытался установить mod_wsgi, настроенный для Python 3.2, на компьютере CentOS, и я продолжаю сталкиваться с ошибкой:

/usr/bin/ld: не удается найти -lpython3.2

Насколько я могу судить, это вызвано отсутствием libpython3.2.so или его эквивалента, но я не могу понять, как создать этот файл.

Некоторые соответствующие данные:

  1. Python установлен на 3.2, загружен с python.org как tar.bz2
  2. md5sum из Python-3.2.tar.bz2 совпадает с тем на Python.org
  3. Эта проблема возникает как с версией mod_wsgi из репозитория hg, так и с mod_wsgi-3.3.tar.gz

(Я понимаю, что это также может быть вопрос о сбое сервера, но этот форум казался более интуитивным).

(Вывод ниже для справки)

[root@<>mod_wsgi-3.3]# ./configure PYTHON=/usr/local/bin/python3.2
checking for apxs2... no
checking for apxs... /usr/sbin/apxs
checking Apache version... 2.2.3
configure: creating ./config.status
config.status: creating Makefile
[root@<> mod_wsgi-3.3]# make
... (I will include this if requested, but it makes it easier to 
    read if this is removed)
mod_wsgi.c:7154: warning: 'wsgi_set_py3k_warning_flag' defined but not used
mod_wsgi.c:7856: warning: 'wsgi_set_user_authoritative' defined but not used
mod_wsgi.c:14414: warning: 'wsgi_hook_check_user_id' defined but not used
/usr/lib/apr-1/build/libtool --silent --mode=link gcc -o mod_wsgi.la  -rpath /usr/lib/httpd/modules -module -avoid-version    mod_wsgi.lo -L/usr/local/lib
-L/usr/local/lib/python3.2/config -lpython3.2 -lpthread -ldl -lutil -lm
/usr/bin/ld: cannot find -lpython3.2
collect2: ld returned 1 exit status
apxs:Error: Command failed with rc=65536
.
make: *** [mod_wsgi.la] Error 1
[root@<> mod_wsgi-3.3]#

1 ответ1

0

Если вы создали Python 3.2 с:

./configure --enable-shared; make; make install

как вы говорите, тогда это фактически установилось бы в /usr, а не в /usr /local. Таким образом, может показаться, что у вас может быть две установки Python для 3.2, и ваши настройки PATH или PYTHON означают, что вы выбираете тот, который находится в /usr /local, а не тот, который был установлен в /usr на основе ваших настроек конфигурации для Python. Определите, сколько у вас на самом деле установок Python, где и какие версии. Также убедитесь, что когда вы перестраиваете исходный код для Python или mod_wsgi, вы делаете:

make distclean

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

Обратите внимание, что предпочтительно отредактировать исходный вопрос, чтобы добавить дополнительную информацию, а не только добавить ее в комментарии, где ее трудно найти.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .