Reputation: 8808
I'm now trying to install the ROOT package available from
After ./configure, make
; I got errors like below:
/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
I really read a lot about this problem; seems it's caused by running 32-bit software on 64-bit machine and I need to re-configure with -fPIC. So I tried to run
CFLAGS="-O3 -fPIC" ./configure
or
According to Passing a gcc flag through makefile
Add inside .bashrc
, I add:
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
However, none of them works!
This really drives me crazy....Only difference of my case with others is here I have problem with Python2.6, while others with other libraries...
Can anyone help me....
Upvotes: 0
Views: 2887
Reputation: 25560
The error tells you to recompile libpython2.6.a
with -fPIC
, not the software you install. Actually it means that you are trying to link a shared library against libpython2.6.a
while you probably need to link it against libpython2.6.so
. So the shared -lpython2.6
is either not installed or not found. Fix that.
Upvotes: 2