1

32 ビット Python インタープリターを含む Linux システム (64 ビット) で mod_wsgi をコンパイルしようとすると、問題に直面します。

私が実行すると:

./configure --with-apxs=/x/home16/eveljee/httpd-2.4.4/bin/apxs --with-python=/x/home16/eveljee/python32/bin/python2.6

私は得る

checking Apache version... 2.4.4
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
/x/home16/eveljee/python32/bin/python2.6: error while loading shared libraries: libpython2.6.so.1.0: wrong ELF class: ELFCLASS64
configure: creating ./config.status
config.status: creating Makefile

64 ビットの Python インタープリターを使用すると、問題が解決されることがわかりました。ただし、特定の理由により、Python インタープリターを変更できません。この問題に対する他の解決策はありますか? また、システムへのルート アクセス権がないことにも注意してください。

4

1 に答える 1

0

64 ビット Linux での 32 ビット ライブラリのロードはサポートされていません。主な理由は、ポインターの問題です。64 ビット マシンは 4GB を超えてアドレス指定できますが、これは 32 ビット ポインターには収まりません。

不可能ではないことに注意してください(Windows では可能です) が、複雑です。

ホーム ディレクトリに 64 ビットの Python をインストールしてみませんか? システムのデフォルトの Python に干渉することはありません。

于 2013-04-16T08:15:16.330 に答える