Project

General

Profile

Actions

ROOT Installation Guide » History » Revision 5

« Previous | Revision 5/28 (diff) | Next »
Ole Hansen, 05/17/2018 05:38 PM


ROOT Installation Guide

ROOT is an advanced software package developed at CERN, the European Organization for Nuclear Research. It is widely used for data analysis and visualization in high-energy physics and nuclear physics as well as other fields.

ROOT can easily run on any modern laptop. You will need at least 2 GB of memory (4 GB recommended) and about 1 GB of disk space (2-3 GB if building from source).

Installing the software varies in difficulty from very easy to fairly high, depending on whether or not your computer is one of the supported platforms. In general, there are three typical ways to get ROOT:

  1. A set of pre-compiled packages provided by your operating system's package manager
    • Very easy to install and almost certain to work well
    • Easy updating to new versions
    • Generally requires administrative privilege on your machine
    • Recommended approach, if possible
  2. A pre-compiled binary distribution package provided by the ROOT team.
    • Easy, but there is a certain risk of problems due to unexpected incompatibilities
    • Only available for the most recent operating system versions
    • May be installed privately without administrative privilege
    • Requires manual updating
  3. Building from source
    • Moderately difficult. Experience with building large software packages recommended.
    • Can take several hours to build. Cannot be done while running on laptop battery power.
    • Configuration can be tricky. Updating is a time-consuming manual process.
    • Missing dependencies are detected during configuration and may need to be installed separately
    • Gives access to all ROOT features, including very advanced ones (not generally needed)

The current version of ROOT is 6.12/06 at the time of his writing. Following are instructions to get up and running quickly with this version, if possible, on specific operating systems based on our experience.

Linux

Red Hat Enterprise Linux (RHEL) 7, CentOS 7 and compatible

  1. Enable the EPEL (Extra Packages for Linux) repository. Follow the EPEL Quickstart instructions.
  2. Install the core ROOT package. This will install the most commonly used libraries, but more are available.
    sudo yum install root
    
  3. To work with ROOT from within python 3, also install python34-root. This will automatically install python 3.4 as well:
    sudo yum install python34-root
    

Fedora

For Fedora 24 and higher, ROOT 6 is available in the main Fedora repository, although the current version of ROOT, 6.12/06, requires at least Fedora 26. Simply do

sudo yum install root
sudo yum install python3-root

For Fedora 20-22, CERN offers binary distributions of older versions of ROOT:

See installing a binary distribution for instructions.

Ubuntu

At present, Ubuntu repositories only offer ROOT 5 packages, which should be considered obsolete. Do not install these. To get ROOT 6 on Ubuntu 14, 16 or 17, download and install the appropriate binary release from CERN:

See installing a binary distribution for instructions.

Arch Linux, Debian, and other Linux varieties with at least gcc 4.8

Build ROOT from source.

RHEL6, CentOS 6 and older Linux distributions

ROOT 6 cannot be installed easily on these systems, not even from source, because the system compiler is too old. (ROOT 6 requires a fully C++11-capable compiler.) Pre-built ROOT 5 packages are available, however.

Of course, it is possible to run ROOT 6 even on quite old Linux systems. One needs to install a modern compiler first, build ROOT from source using that compiler, and run ROOT with that compiler's runtime libraries. This procedure is beyond the scope of this document.

macOS

For macOS/OSX 10.8-10.13, CERN offers binary distributions:

See installing a binary distribution for instructions.

Please note that using versions of ROOT older than 6.08 is discouraged as those releases were quite buggy. If you still run an old version of macOS, it may be better to get the latest ROOT release and build from source.

ROOT is available via Homebrew (package root) and MacPorts (package root6). For example, you can install it from Homebrew on macOS 10.11-10.13 as follows:

Install Homebrew (skip if you have already done that before):

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

Follow the text prompts to complete the installation. Then, install ROOT and Python 3:
brew install root python

Homebrew's ROOT comes with support for Homebrew's Python 3, while the CERN binary distributions support Apple's native Python 2. However, CERN's binary releases are built with more features enabled.

Windows

ROOT 6 is not supported on Windows platforms. However, CERN maintains a Docker image (based on Ubuntu 16) that should allow you to run a ROOT indirectly under Windows 10 Professional 64-bit. Detailed instructions can be found on Docker Hub. This is an advanced procedure.

Alternatively, you can download and install VirtualBox and run our CentOS 7 virtual machine image, which has ROOT pre-installed. You will also find installation instructions there. Unfortunately, this requires a large download, about 30 GB of disk space for the uncompressed VM image, and at least 4 GB, preferably 8 GB, of memory on your host computer. However, you'll be independent of remote computers, similar to the Docker image.

As a second alternative, install an X server on your Windows machine, then use PuTTY with X forwarding enabled to connect to a Unix (or macOS) machine via ssh. At JLab, you could connect to the central ifarm machines, for example. Then run ROOT on the remote machine. This requires a fast network connection.

A third and perhaps best alternative is to run a VNC server session on a Unix (or macOS) machine that you have access to and where ROOT is installed (e.g. ifarm). Then connect to that session with a VNC client on Windows.

Testing your installation

Updated by Ole Hansen almost 6 years ago · 5 revisions