Installation

Since EUTelescope uses parts of the ILCsoft package it is convenient to use the ILCsoft installation scripts to get everything in place. EUTelescope only uses a small subset of the tools provided by ILCsoft and we prepared some ILCsoft Installer configuration to keep the amount of data and the time to build the packages low. This configuration comprises everything you should normally need to run telescope analysis jobs. However, if you have special demands and need additional packages or want e.g. 3D event data viewer capabilities you might have to reconfigure and rebuild yourself.

Please read the following instructions carefully. All instructions have been carefully checked with vanilla installations of the respective systems. If you still experience any problems during the installation please contact us through the forums and provide details on the system and machine you are using and on any error messages you get.

  1. Introduction and Hardware Requirements
  2. Supported Operating Systems and Architectures
  3. Standalone Installation
  4. Setting the EUTelescope Environment

1. Introduction and Hardware Requirements

EUTelescope (or rather Marlin, the event processor provided by ILCsoft) is GRID capable so you can either run your analysis using GRID computing or just locally on your machine or workgroup server. Installing the standalone version of EUTelescope and the ILCsoft framework in the minimal configuration provided here requires only about 1.5 GB disk space. However, if you decide to perform a full setup with all packages provided by ILCsoft the installation requires about 4GB disk space.

It is highly recommended to have more than 2 GB RAM available for running EUTelescope analysis and to use a 64bit kernel to make use of the available RAM.

2. Supported Operating Systems and Architectures

The following Linux distributions are currently supported and tested to work well with EUTelescope and the installation procedures described here:

  • Fedora 26
  • Ubuntu 17
  • Scientific Linux 6
  • CernCentOS 7
  • (ArchLinux)

We highly recommend to use the 64bit versions to allow EUTelescope to make best use of the available RAM. Minor updates of these systems should run smoothly. Other distributions have been reported to work but have not been as thoroughly tested. And no, ARM is not supported so you won't be able to run your testbeam analysis on your Android smartphone. :)

3. Standalone Installation (recommended)

The standalone installation procedure will download and compile the sources of EUTelescope and selected ILCsoft packages required for running EUTelescope. On a modern machine, this should take between 30 - 60 minutes.
You will need a compiler more recent than the default compilers shipped with Scientific Linux 6 (gcc 4.4) or CernCentOS 7 (gcc 4.8), e.g. you will need to use the Developer toolsets (recommended) or your custom compiler (not recommended). In addition, you will need a Python 2.7 instllation and at least git 1.9 or a more recent version (git 2.x is fine too). If you want an out of the box installation, you will need gcc 5 or newer.

Prerequisites I: packet installation

First, you need to install all packages required for the compilation of the ILCsoft packages and of EUTelescope. These differ slightly between the distributions:

Fedora 26

dnf install eigen3-devel gsl gsl-devel wget automake gcc-c++ gcc-gfortran subversion java-1.8.0-openjdk-devel \
libX11-devel libXpm-devel libXft-devel libXext-devel python-devel tar make cmake git

Ubuntu 17

apt-get install libeigen3-dev build-essential gfortran cmake subversion default-jdk libgsl0-dev libxpm-dev \
libxft-dev libx11-dev libxext-dev python-dev git wget

Scientific Linux 6

You will need the Software Collections for Scientific Linux CERN 6, we tested with the most recent Developer Toolset 6.0 and Software Collections 2.3. These will provide Python 2.7, a recent gcc compiler and git 2.9.

yum install sl-release-scl
yum install git rh-git29 python27 devtoolset-6 eigen3-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel \
gsl-devel libX11-devel libXpm-devel libXft-devel libXext-devel wget subversion tar

CernCentOS 7

Again, using a more recent version of gcc and git via the devtoolset and software collectios. In contrast to SLC 6 the system installation of Python is modern enough!

yum install eigen3-devel gsl gsl-devel wget automake gcc-c++ gcc-gfortran subversion java-1.8.0-openjdk-devel \
libX11-devel libXpm-devel libXft-devel libXext-devel python-devel tar make cmake which devtoolset-6-gcc-c++ rh-git29

ArchLinux

Given the rolling release model of ArchLinux, we do not fully support it - however feel free to try [ and your masochistic tendencies regarding rolling deployment fully align with our philosophy :-) ]!
Following packages are required from a base installation:

pacman -S core/gcc extra/eigen extra/gsl extra/wget core/automake core/gcc-fortran extra/subversion extra/git \
extra/jdk8-openjdk extra/libx11 extra/libxpm extra/libxft extra/libxext extra/python2 extra/cmake core/which \
core/make core/tar --needed

This should cover many of the available package managers: dnf, yum, apt and pacman!

Prerequisites II: prepare installation path and download installer

Prepare the ILCsoft environment by specifying and creating the desired installation path:

export ILCSOFT=/path/where/you/want/to/install
mkdir -p $ILCSOFT

Now the latest version of the ILCsoft Installer can be checked out from the Subversion repository using

cd $ILCSOFT
git clone -b dev-base https://github.com/eutelescope/ilcinstall $ILCSOFT/ilcinstall

Where dev-base can be replaced by one of the following branches: branch overview on github Please note that some operating systems might need special environsments and branches, i.e. on SLC 6 you will need the Developer Toolsets corretly sourced and the dev-findpython branch. The EUTelescope github repository contains Docker images (directory on github) for set-up on several operating systems, it might be worthwile to check those if encoutering an error during installation.

Prerequisites III: Check the version of EUTelescope (and EUDAQ) to be installed

Before starting the installation, please check that the file

$ILCSOFT/ilcinstall/releases/vYY-XX/release-versions.py

sets the version numbers of EUTelescope and EUDAQ that you wish to install (set by the variables Eutelescope_version and Eudaq_version respectively).

Run the installation

cd $ILCSOFT/ilcinstall
./ilcsoft-install -i examples/eutelescope/release-standalone.cfg

If you don't want to install CMake or ROOT&CMake, but have a system-wide modern installation:

./ilcsoft-install -i examples/eutelescope/release-nocmake.cfg

or:

./ilcsoft-install -i examples/eutelescope/release-nocmakenoroot.cfg

are a good option.

Now is a good time to grab a coffee! When you are back, EUTelescope should be ready to run, as soon as you set up your environment correctly.

Happy analysis!

4. Setting the EUTelescope Environment

Before any attempt to use ILCsoft and EUTelescope in a meaningful way you must load the environment variables:

cd $ILCSOFT/vYY-XX-ZZ/Eutelescope/master
source build_env.sh

where the "vYY-XX-ZZ" needs to be replaced with the actual version of the ilcsoft-installer.

If you are running csh or tcsh Shell you should source a "build_env.csh". The script fills the PATH and LD_LIBRARY_PATH variables. A $EUTELESCOPE variable is also introduced there.