Erro ao instalar mod_wsgi em centos com python2.7

5

Quando eu faço "make" na pasta mod_wsgi eu recebo este erro

Eu configurei usando o seguinte

./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): relocation R_X86_64_32 against 'a local symbol' can not be used when making a shared object; recompile with -fPIC /opt/python27/lib/libpython2.7.a: could not read symbols: Bad value collect2: ld returned 1 exit status apxs:Error: Command failed with rc=65536

Este link tem a solução, mas não consegui entendê-lo totalmente

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
    
por Mirage 24.05.2011 / 10:09

2 respostas

7

O importante é reconstruir o Python com --enable-shared. Os comentários do link simbólico não são relevantes se você não tiver feito isso e não deve aplicar-se com versões recentes do Python / mod_WSGI.

    
por 25.05.2011 / 00:52
0

Re-compile o Python

A recompilação de Python com --enable-shared sozinho não é suficiente, porque você receberá um erro ao carregar bibliotecas compartilhadas .

Supondo que você irá instalar o Python 2.7.x em /usr/local/bin , você deve configurá-lo com a opção 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

(Use altinstall em vez de install para evitar a mudança de links simbólicos do sistema Python e man pages. Em suma, install = altinstall + bininstall + maninstall )

Compilar mod_wsgi

Suponha que (uma versão compilada do) Apache esteja instalada em /usr/local/apache , compile mod_wsgi contra o Python 2.7 assim:

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

Se você compilar mod_wsgi sem LDFLAGS , o Apache irá reclamar:

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
    
por 04.08.2016 / 12:02