ROOT6.14 with Anaconda python3.6

Hi,

I know this question has been similarly asked before, but unfortunately, I can not solve the problem yet and the topics are closed.

I am trying to build a local root installation and I already have Anaconda with python 3.6 installed. I have tried a couple of solutions I found here in ROOT Forum, for example, this one

I have followed the steps according to the building root and using ccmake. After configure and generation and get this:

CMake Warning at cmake/modules/RootNewMacros.cmake:653 (add_library):
Cannot generate a safe runtime search path for target RHTTP because files
in some directories may conflict with libraries in implicit directories:

 runtime library [libssl.so.1.0.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
   /home/arturo/anaconda3/lib
 runtime library [libcrypto.so.1.0.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
   /home/arturo/anaconda3/lib

Some of these libraries may not be found correctly.
Call Stack (most recent call first):
cmake/modules/RootNewMacros.cmake:981 (ROOT_LINKER_LIBRARY)
net/http/CMakeLists.txt:49 (ROOT_STANDARD_LIBRARY_PACKAGE)

and of course, this leads me to the final error in the building process. Could anyone help me? I’m not too much familiar with cmake.

Thanks!
Arturo


ROOT Version: 6.14.02
Platform: Ubuntu 16.04
Compiler: Not Provided


If you build ROOT with anaconda, than all dependencies should come from anaconda. If you mix libraries from your system and from anaconda, you will have problems at runtime even if you manage to compile everything. I would strongly recommend you to use a more recent operating system if you can, or stick with the python from your OS if you can’t. Please see my CHEP’18 slides for an explanation of why this common problem happens.

Thanks a lot for your reply. I went through your slides and kind of get what the problem is. However, I do not understand almost anything about compilers and binaries so I still don’t know what to change to make it works.
Could you give some kind of recipe?

Thanks once more,
Arturo

I am not sure what you mean by a recipe. What I would recommend is to either stick with what you get from your OS and build ROOT with the command below after installing all dependencies,

$ cmake ~/src/root && cmake --build . && cmake --build . --target install

or to do the same, but install GCC and ROOT dependencies in anaconda and build ROOT with that GCC using -DCMAKE_CXX_COMPILER=.../g++ and -DCMAKE_C_COMPILER=.../gcc to set the compiler to the anaconda one. For a list of packages that you need to install to get ROOT with most things enabled, please refer to our Dockerfile for Ubuntu here: https://github.com/root-project/root-docker/blob/master/ubuntu/packages. You can also just use ROOT from one of the official Docker images or download the Ubuntu16 binaries available on the website here: https://root.cern/content/release-61404.

I used the first variant so I stuck to my OS python and I was able to built ROOT.
Thanks a lot!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.