Mod_wsgiフォルダーで「make」を実行すると、このエラーが発生します
以下を使用して構成しました
./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 with --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
(システムPythonとマニュアルページのシンボリックリンクの変更を避けるために、altinstall
の代わりにinstall
を使用してください。要するに、install
= altinstall
+ bininstall
+ maninstall
)
mod_wsgi
Apache(のコンパイル済みバージョン)が/usr/local/Apache
にインストールされているとすると、次のようにPython 2.7に対してmod_wsgi
をコンパイルします。
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
LDFLAGS
なしでmod_wsgi
をコンパイルすると、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