我遇到这个问题:
我正在运行 pythonbrew 来获取 python2.7,因此我重新编译了 mod_wsgi 以使用 2.7 python。
为此,我遵循了本教程:
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 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#Mishing_32_Bit_And_64_Bit_Packages http://code.google.com/p/modwsgi/wiki/InstallationIssues#Mixing_32_Bit_And_64_Bit_Packages
because我正在运行 64 位 python,是这样吗mean我的问题不是这个:
该错误被认为是由于所使用的 Python 版本最初是针对通用 X86 32 位架构编译的,而 mod_wsgi 是针对 X86 64 位架构编译的。在这种情况下会出现实际错误,因为“libtool”似乎无法从 X86 32 位静态库生成适用于 X86 64 位架构的动态可加载模块。
而是这个?
或者,问题是由于该平台上的“libtool”在所有情况下都无法从 X86 64 位静态库创建可加载模块。
(以上引用自上述链接)
and if that情况如此,我到底该怎么办?我完全不知道该做什么either场景 - 是的,我读了该页的其余部分,但它也可能是用希腊语写的(我不会说希腊语)。
有什么建议么?
更新:
我从未修复过这个问题,最终使用了我的 ubuntu 附带的 python - 与我的代码运行的观点没有区别。