I am trying to compile a legacy version of ROOT 5.34.xx with pyROOT support on my system which is:
Scientific linux 6.9 with kernel version: Linux 2.6.32-696.18.7.el6.x86_64
I do the configure step correctly (I think) like this:
./configure --prefix=/local/install/path/v5_34_26_64_Python2.7 --with-python-incdir=/home/directory/path/python/anaconda3/envs/py2710/include/python2.7 --with-python-libdir=/home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config
Clearly I am using an anaconda-installed python (v2.7.10). And I am also letting the install target directory be inside the unpacked source directory. I think both of those are ok.
I’ve tried with many variants of ROOT version and python version. See list below:
ROOT Version ------------ Python Version
5.34.36 ---------------------- 3.6 (epic fail, this was dumb on my part-- didn’t want to go to a 3.2 and try this instead would settle for a working 2.7)
5.34.36 ---------------------- 2.7.13 (realized that this release of python came after the ROOT release)
5.34.36 ---------------------- 2.7.11 (failed with error below)
5.34.36---------------------- 2.7.10 (failed with error below)
5.34.26---------------------- 2.7.11 (failed with error below)
The last three I consider to be sensible tries given the release dates and my lack of knowledge about specific compatibility issues. Each fails with the error seen at the bottom of this post.
I would like to know if documentation exists about specific python compatibilities. Further, what does the error below indicate? I couldn’t quite parse it, it almost looks like an internal inconsistency in the Python library file. Is my procedure incorrect (configure; see above, make; failed, make install)?
Important NOTE I do not have sudo privileges on this machine so solutions that require being root are unacceptable. Further, I cannot upgrade to ROOT6 because of compiler compatibility issues.
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 -lCore -lCint -ldl -Llib -lRIO -lHist -lGraf -lGraf3d -lGpad -lTree -lMatrix -lNet -lThread -lMathCore -lCore -lCint -L/home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config -lpython2.7
/home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config/libpython2.7.a(dynload_shlib.o): In function
_PyImport_GetDynLoadFunc': -------src-dir-------/Python-2.7.10/Python/dynload_shlib.c:94: undefined reference to
dlsym’
-------src-dir-------/Python-2.7.10/Python/dynload_shlib.c:130: undefined reference todlopen' -------src-dir-------/Python-2.7.10/Python/dynload_shlib.c:141: undefined reference to
dlsym’
-------src-dir-------/Python-2.7.10/Python/dynload_shlib.c:133: undefined reference todlerror' /home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config/libpython2.7.a(thread.o): In function
_pythread_pthread_set_stacksize’:
-------src-dir-------/Python-2.7.10/Python/thread_pthread.h:497: undefined reference topthread_attr_setstacksize' /home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config/libpython2.7.a(thread.o): In function
PyThread_release_lock’:
-------src-dir-------/Python-2.7.10/Python/thread_pthread.h:350: undefined reference tosem_post' /home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config/libpython2.7.a(thread.o): In function
PyThread_acquire_lock’:
-------src-dir-------/Python-2.7.10/Python/thread_pthread.h:326: undefined reference tosem_trywait' -------src-dir-------/Python-2.7.10/Python/thread_pthread.h:324: undefined reference to
sem_wait’
/home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config/libpython2.7.a(thread.o): In functionPyThread_free_lock': -------src-dir-------/Python-2.7.10/Python/thread_pthread.h:294: undefined reference to
sem_destroy’
/home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config/libpython2.7.a(thread.o): In functionPyThread_allocate_lock': -------src-dir-------/Python-2.7.10/Python/thread_pthread.h:269: undefined reference to
sem_init’
/home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config/libpython2.7.a(thread.o): In functionPyThread_start_new_thread': -------src-dir-------/Python-2.7.10/Python/thread_pthread.h:184: undefined reference to
pthread_attr_setstacksize’
-------src-dir-------/Python-2.7.10/Python/thread_pthread.h:194: undefined reference topthread_create' -------src-dir-------/Python-2.7.10/Python/thread_pthread.h:210: undefined reference to
pthread_detach’
/home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config/libpython2.7.a(posixmodule.o): In functionposix_forkpty': -------src-dir-------/Python-2.7.10/./Modules/posixmodule.c:4012: undefined reference to
forkpty’
/home/directory/path/python/anaconda3/envs/py2710/lib/python2.7/config/libpython2.7.a(posixmodule.o): In functionposix_openpty': -------src-dir-------/Python-2.7.10/./Modules/posixmodule.c:3952: undefined reference to
openpty’
collect2: ld returned 1 exit status
make: *** [lib/libPyROOT.so] Error 1