Merlin logoThe Merlin++ accelerator simulation program library

Quickstart Guide

Installing Merlin++

Below is a step-by-step guide to properly downloading, configuring and installing all prerequisites as well as Merlin++ itself. The following provides install command examples specific to Ubuntu:more will be added in response to user requests but meanwhile for other linux distros, use as close to the equivalent commands as possible

Prerequisites

. Prior to downloading Merlin++, it is important that you have all the required prerequisites. You may have some of them already, and if so Merlin++ can be downloaded and run without the all of the following . However, it is advised that user/developer installs Merlin++ in accordance with the following to prevent compatibility issues.

  1. : It is best to ensure that you are fully updated prior to installation. For Ubunto, use
    sudo apt install update
    ( For Centos use sudo yum update )
  2. Then make sure you have the C++ compiler, such as g++
    sudo apt install build-essential
  3. then CMake, including CCMake

    sudo apt install cmake cmake-curses-gui
  4. then Python, including numpy and scipy
    sudo apt install python python-numpy python-scipy
    For Centos: sudo yum install python and sudo yum install numpy and sudo yum install scipy .
  5. Then the git control system
    sudo apt install git
    For Centos: sudo yum install git-all . You can also download / install by hand from url: https://git-scm.com/downloads
  6. The Java Runtime Evironment (JRE) or Java Development Kit (JDK) is (only) required if you are using Eclipse. Actually only the JRE is required. The JDK includes JRE and has other uses so you may prefer to download it.
    sudo apt install open-jdk-8-jre
    For Centos: sudo yum install java-1.8.0-openjdk Or download / install by hand from url: https://java.com/en/download/
  7. ROOT (optional)
    Download / Install from url: https://root.cern.ch/downloading-root/

Downloading and Configuring Merlin++

It is simpler/less buggy to do this using git, outside eclipse. (It is also possible to download the Merlin++ source code directly from our online public github repository: url: https://github.com/Merlin-Collaboration/Merlin )

  1. Go into the directory you desire to work under - we assume this is the home directory
    cd ~
  2. Create a git directory, enter it and initialise:
    mkdir git
    cd git
    git init
  3. Checkout the current version of Merlin++ from our public githud repository . (Here this is put in a directory called myMerlin. Adjust as you please.)
    git clone https://github.com/MERLIN-Collaboration/Merlin ./myMerlin
    Merlin++ will proceed to download. You may need to ensure https_proxy is set
  4. Now that you have a clone of the source code you are ready to install and run Merlin++! First, enter the cloned directory
    cd myMerlin
  5. Create and enter a suitable build directory (Merlin++ does not allow in-source builds.)
    mkdir build
    cd build

  6. Create the release version makefile with the cmake command. (Or use the interactive configuration with ccmake if you prefer.)
    cmake -DCMAKE\_BUILD\_TYPE=Release ..
    or ccmake ..
  7. Start building Merlin++ (N is the number of available CPUs, e.g. -j8
    make -jN
    All binaries and a new "build > Debug/Release" path will automatically be generated in your project
  8. To confirm Merlin++ has been installed successfully, run the test suite
    make test
    if successful you should see something similar to the following:
    Output of the test suite