ROOT安装错误:使用-fPIC重新编译

时间:2011-12-31 09:07:51

标签: makefile root fpic

我现在正在尝试安装

提供的ROOT包

./configure, make之后;我收到如下错误:

/usr/bin/ld: /share/lib/python2.6/config/libpython2.6.a(abstract.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/share/lib/python2.6/config/libpython2.6.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [lib/libPyROOT.so] Error 1

我真的读了很多关于这个问题的文章;似乎是由于在64位机器上运行32位软件引起的,我需要使用-fPIC重新配置。 所以我试着跑

CFLAGS="-O3 -fPIC" ./configure

或 根据{{​​3}} 在里面添加。bashrc,我添加:

export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"

然而,它们都不起作用!

这真让我疯狂....只是我的案例与其他人的区别在于我在Python2.6中存在问题,而其他人与其他库有问题......

任何人都可以帮助我......

1 个答案:

答案 0 :(得分:2)

错误告诉您使用libpython2.6.a重新编译-fPIC,而不是您安装的软件。实际上,这意味着您尝试将共享库与libpython2.6.a链接,而您可能需要将其与libpython2.6.so相关联。因此,未安装或未找到共享的-lpython2.6。解决了这个问题。