Problem compiling against python static libraries

Hi,

I’m trying to compile root against python2.6.6, installed on my University’s systems. For some reason only the static python library is available. configure works fine, and finds my python paths:

Checking for Python.h ... /data/ppe01/sl5x/x86_64/python/2.6.6/include/python2.6/ Checking for python2.6, libpython2.6, libpython, python, or Python ... /data/ppe01/sl5x/x86_64/python/2.6.6/lib/

But then I get this error when linking:

g++ -shared -Wl,-soname,libPyROOT.so -m64 -O2 -Wl,--no-undefined -Wl,--as-needed -o lib/libPyROOT.so bindings/pyroot/src/Adapters.o bindings/pyroot/src/ClassMethodHolder.o bindings/pyroot/src/ConstructorHolder.o bindings/pyroot/src/Converters.o bindings/pyroot/src/Executors.o bindings/pyroot/src/FunctionHolder.o bindings/pyroot/src/MemoryRegulator.o bindings/pyroot/src/MethodHolder.o bindings/pyroot/src/MethodProxy.o bindings/pyroot/src/ObjectProxy.o bindings/pyroot/src/PropertyProxy.o bindings/pyroot/src/PyBufferFactory.o bindings/pyroot/src/PyRootType.o bindings/pyroot/src/PyStrings.o bindings/pyroot/src/Pythonize.o bindings/pyroot/src/RootModule.o bindings/pyroot/src/RootWrapper.o bindings/pyroot/src/TCustomPyTypes.o bindings/pyroot/src/TemplateProxy.o bindings/pyroot/src/TPyClassGenerator.o bindings/pyroot/src/TPyDispatcher.o bindings/pyroot/src/TPyException.o bindings/pyroot/src/TPyFitFunction.o bindings/pyroot/src/TPyReturn.o bindings/pyroot/src/TPyROOTApplication.o bindings/pyroot/src/TPySelector.o bindings/pyroot/src/TPython.o bindings/pyroot/src/TRflxCallback.o bindings/pyroot/src/TSetItemHolder.o bindings/pyroot/src/Utility.o bindings/pyroot/src/G__PyROOT.o -Llib -lRIO -lHist -lGraf -lGraf3d -lGpad -lTree -lMatrix -lNet -lThread -lMathCore -lCore -lCint -L/data/ppe01/sl5x/x86_64/python/2.6.6/lib/ -lpython2.6 -Llib -lCore -lCint -ldl /usr/bin/ld: /data/ppe01/sl5x/x86_64/python/2.6.6/lib//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 /data/ppe01/sl5x/x86_64/python/2.6.6/lib//libpython2.6.a: could not read symbols: Bad value collect2: ld returned 1 exit status make: *** [lib/libPyROOT.so] Error 1

Any suggests on what I might be doing wrong? Or any further info needed? I’m running SL5.

[url]PyROOT needs ROOT with "--enable-shared"
https://savannah.cern.ch/bugs/index.php?96500

Thanks for the reply - I did try searching first but didn’t find either of those posts! In the end I actually just compiled my own python from source with --enable-shared, and that all worked fine.