Pypy编译错误

Pypy编译错误,pypy,Pypy,我试图在RHEL6.6上编译pypy,并得到以下错误。我知道很多,但这是相关信息。它似乎完成了翻译阶段,并试图编译C代码: [translation:ERROR] /usr/bin/ld: /usr/lib/libexpat.a(xmlparse.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC

我试图在RHEL6.6上编译pypy,并得到以下错误。我知道很多,但这是相关信息。它似乎完成了翻译阶段,并试图编译C代码:

[translation:ERROR]     /usr/bin/ld: /usr/lib/libexpat.a(xmlparse.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC                                                                                                                                                                                         
[translation:ERROR]     /usr/lib/libexpat.a: could not read symbols: Bad value                                                                                                       
[translation:ERROR]     collect2: error: ld returned 1 exit status                                                                                                                           
[translation:ERROR]     make: *** [libpypy-c.so] Error 1 

所以我想这就成了一个问题,我该如何用-fPIC重新编译呢?如何从rpython调用传递标志?

这只是警告。错误将在最后出现。谢谢。我认为问题在于libexpat.a不是一个.so文件,而是一个.a文件,在构建任何.so时都不能使用它(比如libpypy-c.so)。你需要libexpat,所以我认为首先。我当然在我的Ubuntu系统上看到它同时有/usr/lib/libexpat.a和/usr/lib/libexpat。。。(来自gcc的错误消息令人困惑,因为我们正在传递-fPIC。我认为这意味着您应该使用此标志重新编译libexpat,这通常是您在libexpat.so中得到的。)好的。谢谢我在一个没有root访问权限的系统上使用我自己的libexpat副本。我不知道为什么libexpat.so没有安装,而是现在重新安装。