私はこの問題を抱えています:
私はpythonbrewを実行してpython2.7を取得しているので、2.7 pythonを使用するためにmod_wsgiを再コンパイルしました。
そのために、私はこのチュートリアルに従いました:
code.google.com/p/modwsgi/wiki/QuickInstallationGuide
これには、ファイルのダウンロードが含まれていました-私が取得したtar.gzファイルがあります-そして、それを「構成」します ./configure --with-python=/home/bharal/.pythonbrew/pythons/Python-2.7.2/bin/python --enable-shared
今、私はこれが私の python にアタッチするのに適切な場所であると仮定しています - 上記の with-python の値は、私が得た応答ですwhich python
わかった!では、問題です。上記の構成を実行した後、実行するmake
と次のようになります。
/usr/include/features.h:160:1: warning: this is the location of the previous definition
/usr/share/apr-1.0/build/libtool --silent --mode=link --tag=disable-static x86_64-linux-gnu-gcc -o mod_wsgi.la -rpath /usr/lib/apache2/modules -module -avoid-version mod_wsgi.lo -L/home/aiyer /.pythonbrew/pythons/Python-2.7.2/lib -L/home/aiyer/.pythonbrew/pythons/Python-2.7.2/lib /python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm
/usr/bin/ld: /home/bharal/.pythonbrew/pythons/Python-2.7.2/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/home/aiyer/.pythonbrew/pythons/Python-2.7.2/lib/libpython2.7.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
apxs:Error: Command failed with rc=65536
そして、私は何をすべきかわかりません。私はこの答えに出くわしました:
https://stackoverflow.com/a/6118155/1061426
しかし、これはあまり役に立ちません-一連の手順を説明できるほどではありませんが、考えるのにもっと興味深い一口です.
このコマンドを実行して、Python 64 ビットがあるかどうかを確認しました。
import sys
print maxint
64 ビットの場合 ==> 9223372036854775807 32 ビットの場合 ==> 2147483647
わかりましたので、64 ビットを実行しています。より大きな数値が得られるからです。だから私はこのドコをここで読んだ:
http://code.google.com/p/modwsgi/wiki/InstallationIssues#Mixing_32_Bit_And_64_Bit_Packages
私は64ビットのPythonを実行しているので、それは私の問題がこれではないことを意味します:
このエラーは、使用されている Python のバージョンが元々ジェネリック X86 32 ビット アーキテクチャ用にコンパイルされているのに対し、mod_wsgi は X86 64 ビット アーキテクチャ用にコンパイルされていることが原因であると考えられています。この場合、実際のエラーが発生します。これは、'libtool' が X86 32 ビット スタティック ライブラリから X86 64 ビット アーキテクチャ用の動的にロード可能なモジュールを生成できないように見えるためです。
むしろこれ?
または、このプラットフォームの「libtool」が X86 64 ビット スタティック ライブラリからロード可能なモジュールを作成できないことが原因です。
(上記リンクより引用)
もしそうなら、私は一体何をしますか?私はどちらのシナリオで何をすべきかについて最も漠然とした考えを持っていません- はい、そのページの残りの部分を読みましたが、ギリシャ語で書かれている可能性があります (私はギリシャ語を話せません)。
助言がありますか?
更新:私はこれを修正したことがなく、最終的に私のubuntuに付属のpythonを使用しました-私のコードの観点からの実行と違いはありません。