我现在正在尝试安装
提供的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中存在问题,而其他人与其他库有问题......
任何人都可以帮助我......
答案 0 :(得分:2)
错误告诉您使用libpython2.6.a
重新编译-fPIC
,而不是您安装的软件。实际上,这意味着您尝试将共享库与libpython2.6.a
链接,而您可能需要将其与libpython2.6.so
相关联。因此,未安装或未找到共享的-lpython2.6
。解决了这个问题。