Erro do CentOS com mod_wsgi: não é possível localizar -lpython3.2

0

Estou tentando instalar o mod_wsgi configurado para o Python 3.2 em uma máquina do CentOS e continuo correndo para o erro:

/usr/bin/ld: cannot find -lpython3.2

Por mais que eu saiba, isso é causado por um libpython3.2.so ou equivalente ausente, mas não consigo descobrir como criar esse arquivo.

Alguns dados pertinentes:

  1. A instalação do Python é 3.2, baixada do python.org como tar.bz2
  2. O md5sum de Python-3.2.tar.bz2 corresponde ao do Python.org
  3. Esse problema acontece com a versão do mod_wsgi do repositório hg e de mod_wsgi-3.3.tar.gz

(Eu sei que isso também pode ser uma questão de falha de servidor, mas isso parece ser o fórum mais intuitivo).

(saída abaixo para referência)

[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]#
    
por cwallenpoole 01.09.2011 / 19:09

1 resposta

0

Se você criou o Python 3.2 com:

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

como você diz, então isso realmente teria sido instalado em / usr e não em / usr / local. Assim, parece que você pode ter duas instalações em Python para 3.2 e suas configurações PATH ou PYTHON significa que você está pegando o em / usr / local e não aquele que foi instalado em / usr com base em suas configurações de configuração para Python. Calcule quantas instalações Python você realmente tem, onde e quais versões. Além disso, certifique-se de que, ao recriar o código-fonte para Python ou mod_wsgi, você faça:

make distclean

entre compilações para garantir que você não tenha mais nada de construções anteriores de uma configuração anterior.

Observe que é preferível editar sua pergunta original para adicionar informações extras e não apenas adicioná-la a comentários onde é difícil encontrá-la.

    
por 02.09.2011 / 05:40