Skip to content
A simple script to download and build the ANITA libraries
Shell CMake
Branch: master
Clone or download


A simple script to download and build the ANITA libraries.

Additional doxygen generated documentation is available online here

The latest documentation status is: Documentation Status

Getting anitaBuildTool

In your terminal do

git clone

to create an anitaBuildTool subdirectory containing the scripts and git repository. Alternatively, you can clone over ssh with

git clone

Building for the first time

In theory all one needs to do is make sure the ANITA_UTIL_INSTALL_DIR enviromental vairable is set and then type:


The build script is not very sophisticated it will attempt to:

1) Checkout the libraries from GitHub
2) Make a build directory and run cmake in that directory to generate Makefiles
3) Build the libraries (make)
4) Install the libraries in to ANITA_UTIL_INSTALL_DIR (make install)

This will build and install everything with the defaults. However, there are some optional arguments

./ [njobs = 1] [configure = 0] [build aware = 0] [nuke build dir = 1] [convolve tuff responses = 1]
Argument Default What it does
njobs 1 The number of threads you wish to compile with. njobs > 1 will result in faster compilation, however, warnings and errors may appear out of order.
configure 0 Edit compiler flags and other options before building.
build aware 0 Whether or not to download and build AWARE in addition to the default packages.
nuke build dir 1 Whether or not the build directory will be deleted and completely re-compiled.
convolve tuff responses 1 Whether or not you want to convolve together the TUFF models with the A3 and A4 impulse responses

The main prerequisites are: ROOT with Minuit2, MathMore, and Fortran. See to make sure you have the prerequisites required for those features. FFTW cmake these should be available using your favourite package manager for your system.

Building for the Nth time

After is run once, more things are possible. anitaBuildTool includes a high level Makefile, which allows for separately compiling/updating/installing the software, rather than doing all of the above. The Makefile commands are documented, to see what is available do

make help

in the anitaBuildTool directory.


Edit the top line of the clone method file (from https to ssh) to clone over ssh rather than https. This requires uploading your public ssh-key to GitHub.

If you want to update all the components, you can run:

./ [Nuke build directory?] [update aware?] [update treeMaker?]

If you put a zero for [Nuke build directory?] it will possibly allow you to quicky rebuild only things that have been changed. It might not work though if there are significant modifications.

Known working systems

Mac OS X

Mac Os X 10.11.5 ROOT -- 6.06/04 cmake -- 3.5.2 The ROOT, cmake and FFTW libraries were installed using for details on how to install these see

macOS Sierra 10.12

ROOT -- 6.06/08 cmake -- 3.6.2 clang -- 800.0.38 (xcode 8.0)

Scientific Linux 6

Scientific Linux release 6.7 (Carbon) gcc version 4.4.7 20120313 ROOT -- 5.34/20 cmake version

Fedora 24 ( 64-bit)

gcc 6.1.1 20160621 (Red Hat 6.1.1-3) ROOT 6.06/06 cmake 3.5.2 fftw-3.3.4-7 all installed via dnf from normal repositories

Centos 7 (64-bit)

gcc 4.8.5 20150623 (Red Hat 4.8.5-4) ROOT 6.06/04 cmake 2.8.11 all installed via yum from normal + epel repositories

Ubuntu 16.04 (64-bit)

gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu2) ROOT 6.06/08 (installed explicitly with minuit2) cmake 3.5.1

You can’t perform that action at this time.