开发者

Compile Error IcePy (Ice 3.3.1) : relocation against local symbol

开发者 https://www.devze.com 2023-01-09 04:51 出处:网络
I have a problem when I try to build IcePy (from Ice 3.3.1) (for python 2.4.4). Compilation, testing and install of Ice itself (cpp version) is OK but when I tried to build the python interface (\"py\

I have a problem when I try to build IcePy (from Ice 3.3.1) (for python 2.4.4). Compilation, testing and install of Ice itself (cpp version) is OK but when I tried to build the python interface ("py" directory) I get the following error (sorry for the truncated paths) :

.../lib/python2.4/config/libpython2.4.a(abstract.o):
relocation R_X86_64_32 against `a local symbol' can not be used when making
a shared object; recompile with -fPIC
.../lib/python2.4/config/libpython2.4.a: could not read symbols: Bad value
collect2: ld returned 1 exit status

Is anybody able to explain me what this problem of relocation means (or at least give me a link) ? Thank you in avdance for your help. Even if you don't know anything about Ice, your comments on the error message are welcome. (of course the compilat开发者_JAVA技巧ion line already contained -fPIC so the "recompile with -fPIC" does not really help me...)


The abstract.o was very likely not compiled with -fPIC, so the advice linker gave you is correct.

Go back to your build log, and verify that -fPIC is not there when libpython2.4.a was built. Note that -fPIC is needed for libpython2.4.a itself, not just for the IcePy.

If it is there, you have found a bug in GCC (which is somewhat unlikely).

You can learn about linkers and relocations here or here.

0

精彩评论

暂无评论...
验证码 换一张
取 消