A Snap package for ROOT on Linux

There is a new experimental package format for ROOT, based on the Snap package manager from Canonical. This package can be ideal for new ROOT users, new Linux users, or people whose ROOT requirements might be entirely satisfied with an immutable container image.

This is a companion discussion topic for the original entry at https://root.cern/blog/snap-announcement/

A follow-up, more complete blog post to the original announcement here in the forum. Thanks @James-Carroll!

1 Like

(Edited this post since I’ve noticed it appears under the blog feed and I’d rather not overburden it :wink: )

The main things I’m looking into at the moment is getting CUDA working, considering the possibility of Tensorflow in the default package (for Keras/TMVA) and identifying where the sandbox is causing issues. Particularly this last bit is the one that presents the most complex problem. Otherwise the snap should hopefully only lag behind the latest releases by a few days at most, so if it’s suitable for you already it should be plain sailing going forward. If it isn’t, please drop feedback and I can evaluate it and hopefully improve this for everyone :slight_smile:

1 Like

Hi @James-Carroll , just wondering: what C++ standard is the Snap package compiled with? We should probably add this information at Installing ROOT - ROOT and Install ROOT Framework for Linux using the Snap Store | Snapcraft .

Both the 6-22 and 6-24/latest channels are C++17, being the latest standard GCC 9 claims to be stable with, new releases will probably remain that way until the snap rebases on Ubuntu 22.04.

I’ll add that information to the store listing, but CERN has a service account that has write access to the snap and can change its description, so if you ever wanted to adjust something yourselves then feel free to use it.

1 Like

Hi @James-Carroll ,

I have the snap version of ROOT 6.27, and I would like to edit the .rootrc file to change the default TBrowser to offline mode. However I cannot find where .rootrc is located. I made my own .rootrc in the home directory, and added the line of code to change the browser setting, but it didn’t work.

Where do I find this .rootrc file if I install via snap?



Most snaps (strict snaps, left to their defaults) believe that $HOME is actually $HOME/snap/$snap-name/current, so for ROOT, you’d place the .rootrc file in $HOME/snap/root-framework/current/.rootrc

1 Like

Great, this worked! Thanks