Installing CERN ROOT on Debian GNU/Linux 12 (bookworm)

by Ricardo Yanez
Last updated: July 29, 2023

bookworm version (bullseye, buster, stretch, squeeze)

ROOT is not part of Debian as of the last stable version 12 (bookworm). This is a quick installation guide from source that avoids debianization.

Download the source.

Install dependencies,

sudo apt-get install dpkg-dev cmake g++ gcc binutils git python3-dev python3-numpy libx11-dev libxpm-dev libxft-dev libxext-dev 
libgif-dev libtiff-dev libxml2-dev libbase-ocaml-dev

Define ROOT version,

export ROOTVER=6.28.04

Create a directory, for instance root, then untar the source,

mkdir root
cd root
tar -zxvf ../root_v$ROOTVER.source.tar.gz

Create a working directory,

mkdir build
cd build

then configure, compile and install,

cmake ../root-$ROOTVER/ -DCMAKE_INSTALL_PREFIX=/usr/opt/root-$ROOTVER -Dgnuinstall=ON
make -j4
sudo make install
sudo ln -sfn /usr/opt/root-$ROOTVER /usr/opt/root

The option '-j' in make means the number of jobs to run simultaneously, in this case, four. In multi-core systems this reduces the compilation time considerably.

Update the dynamic linker,

sudo ldconfig

Define the ROOT environment variables in your .bashrc,

export ROOTSYS=/usr/opt/root
export PATH=$PATH:$ROOTSYS/bin

If the system has many ROOT users, it may be advantageous to define these variables system-wide in /etc/bash.bashrc instead.

Run root at the terminal-emulator.

This document was generated using AFT v5.098