ROOT on MacOS X

ROOT on MacOS X requires X11 to run interactively. If you have not yet installed X11, install it.

As of ROOT v.3.01.05, MacOS X is officially supported. Consequently, the recent ROOT versions should compile and run out of the box.
So now building "ROOT" is fairly straightforward.
Moreover some official binary distributions for MacOS 10.9 are availabe. If you just want to use ROOT, there is no need for you to compile it. The instruction given below is for those who might want to build it themselves.

[1] Compilation Conditions

MacOS X Release 10.9
standard Mach Kernel (Darwin 13.3.0)
gcc47-4.8.2-2osx10.9
gsl-1.16-10.9hepx1b
XQuartz's X11 (v.2.7.7) for MacOS X
CERNLIB-2006
pythia-6.428-10.9hepx1a.x86_64
fftw3-3.3.4-0osx10.9
[2] Compilation Procedure

Get the source tar ball from ftp://root.cern.ch/root/ and expand it as

$ tar -zxvf <somewhere>/root_v5.34.19.source.tar.gz

then follow the steps below:

$ tar -zxvf <somewhere>/pythia6.tar.gz
$ cd pythia6
$ patch -p1 -s < <somewhere>/pythia6416-gfortran.patch
$ ./makePythia6.macosx
$ mkdir ../root/lib
$ cp -p libPythia6.* ../root/lib
$ cd ../root
$ export ROOTSYS=`pwd`
$ export DYLD_LIBRARY_PATH=$ROOTSYS/lib
$ export PATH=$ROOTSYS/bin:$PATH
$ patch -p1 -s < <somewhere>/root_v5.28.00-macosx10.6.patch
$ patch -p1 -s < <somewhere>/root_v5.32.02-noclang.patch
$ patch -p1 -s < <somewhere>/root_v5.34.19-noobjc++.patch
$ ./configure --with-pythia6-libdir=/opt/pythia/6.428/lib --enable-minuit2 --enable-roofit --enable-gdml --enable-mathmore --enable-gsl-shared --with-finkdir=/usr/osxws
$ make

where <somewhere> stands for a directory into which you downloaded the source tarballs and my private patch for root to compile with gfortran.

[3] Installation of a Precompiled Binary Package

Thanks to Remi Mommsen and the ROOT team, ROOT for MacOS X is now available as a Fink package or as a binary tarball from the official ROOT site.

Alternatively, you can use an RPM package through APT/RPM as

$ su
# apt-get update
# apt-get install root
# apt-get clean

Before using ROOT, set up enviromental variables by sourcing a setup script as

$ . /opt/root/5.34.19/bin/thisroot.sh

Now you are ready to use ROOT.


Back to Keisuke Fujii's HEP on X Page
keisuke.fujii@kek.jp Sep. 12, 2014