ROOT built on Jupyter Data-Science Stack

Continuing the discussion from Python with docker rootproject/root-ubuntu16:

ROOT Version: Not Provided
Platform: Not Provided
Compiler: Not Provided

Hi all, returning to this topic after a little more than a year. I have a couple of projects that would benefit from a ROOT build on top of one of the jupyter docker stacks.

Following the example from the rootproject/rootubuntu16 build I can successfully compile all the dependancies, check out the latest ROOT version from GitHub and compile. Nice ok.

I’ve tried a couple of variations (ubuntu16 vs 18 using precompiled binaries with and without conda etc - having to compile with -j1 to avoid running out of compiler memory is painful) but it always come down to the container not recognising the root libraries in python.

I’ve tried using all the ENTRYPOINT ["bash", "/usr/local/bin/"] but no joy…

Attached is a fairly recent stripped down Docker file (using ubuntu generic rather than the jupyter scripts to avoid conda issues and using the same packages file as rootubuntu16) you might also spot some attempts of mine to add cling in as well which would be amazing…

Any tips? Id be more than happy to follow up on Mattermost or to collaborate on a public image for use in jupyter hub builds or whatever. Surely someone has made some advances on this since 2017?

Dockerfile.txt (1.4 KB)

Yes, I recommend using a docker image based on Fedora, where ROOT is officially packaged. Then you don’t have to compile anything, just do yum install root and any extras and you’re good to go. Let us know if that doesn’t work. Alternatively, if you have the possibility to use CVMFS, we can think more of more alternatives using LCG stacks for your distribution.

You may also use one of our recipes from In particular, here you can find how I make ROOT module available in python after installation. I guess just adding that to your image will make things work.

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