Skip to content

Latest commit

 

History

History
127 lines (97 loc) · 5.34 KB

README.md

File metadata and controls

127 lines (97 loc) · 5.34 KB

FairSoft (Legacy)

Table of Contents

Preface

Our classic bash/cmake based setup system has been named "Legacy". It has been moved to the sub-directory legacy/ to distinguish it clearly from the future Spack-based setup system (for more information see here). The latter will eventually replace the "Legacy" setup system in a future release.

Installation from source

Installing FairSoft is based on the standard CMake workflow.

1. Install system dependencies

Find the list of required system packages together with instructions on how to install them in the dependencies section.

2. Clone the git repo

git clone -b <release> https://github.com/FairRootGroup/FairSoft

For <release> choose

  • nov22, or nov22p1, ... - a particular release
  • nov22_patches - always points to the latest patch release for the nov22 release
  • master - track the latest stable release (e.g. if nov22 is the latest release master is the same as nov22_patches)
  • dev - the bleeding edge development version

Discover releases here: https://github.com/FairRootGroup/FairSoft/releases

3. CMake configure step

cmake -S <path-to-source> -B <path-to-build> -C <path-to-source>/FairSoftConfig.cmake
  • <path-to-source> shall point to the cloned git repo from the previous step
  • <path-to-build> is a temporary directory of your choice where all of the package download, extraction, and building happens

Set the installation prefix and more customization options in the FairSoftConfig.cmake file itself.

macOS users: Notice macOS SDK!

4. CMake build/install step

After a successful CMake configure step, you start the build/install step as follows:

cmake --build <path-to-build> [-j<ncpus>]
  • <path-to-build> is the same directory as chosen in the previous configure step
  • -j<ncpus> parallelize the build

5. Usage

export SIMPATH=<path-to-install>

Simply export an environment variable SIMPATH which points to the chosen install directory from step 2 and continue with the FairRoot installation.

Advanced topics

Find several advanced and troubleshooting topics in the advanced section.

Tested systems

The following systems are tested regularly. If you feel your system is missing, please contact us.

OS Name Arch OS Version Compiler CMake
Archlinux x86_64 latest GCC 12.2.0 3.25.0
CentOS x86_64 7 GCC 11.2.1 (devtoolset-11) 3.24.3 (bootstrap-cmake.sh)
Rockylinux x86_64 8 GCC 8.5.0 3.20.2
Debian x86_64 10 GCC 8.3.0 3.24.3 (bootstrap-cmake.sh)
Debian x86_64 11 GCC 10.2.1 3.18.4
Debian x86_64 12 GCC 12.2.0 3.24.3
Fedora x86_64 34 GCC 11.3.1 3.20.5
Fedora x86_64 35 GCC 11.3.1 3.24.2
Fedora x86_64 36 GCC 12.2.1 3.24.2
Fedora x86_64 37 GCC 12.2.1 3.24.2
macOS x86_64 12 AppleClang 13, gfortran 12 3.24.1 (brew)
macOS x86_64 11 AppleClang 13, gfortran 12 3.24.1 (brew)
macOS arm64 12 AppleClang 13, gfortran 12 3.24.1 (brew)
Ubuntu x86_64 20.04 GCC 9.4.0 3.24.3 (bootstrap-cmake.sh)
Ubuntu x86_64 22.04 GCC 11.3.0 3.22.1

Included packages

Package Version URL
asio 1.24.0 https://think-async.com/Asio/
boost 1.80.0 https://www.boost.org/
clhep 2.4.5.1 http://proj-clhep.web.cern.ch
dds 3.6 http://dds.gsi.de
faircmakemodules 1.0.0 https://github.com/FairRootGroup/FairCMakeModules
fairlogger 1.11.0 https://github.com/FairRootGroup/FairLogger
fairmq 1.4.54 https://github.com/FairRootGroup/FairMQ
flatbuffers 22.9.29 https://github.com/google/flatbuffers
fmt 9.1.0 https://github.com/fmtlib/fmt
geant3 4-1_fairsoft https://github.com/FairRootGroup/geant3
geant4 11.0.3 https://geant4.web.cern.ch
geant4_vmc 6-1-p1 https://github.com/vmc-project/geant4_vmc
hepmc 2.06.11 http://hepmc.web.cern.ch
onnxruntime 1.12.1 https://github.com/microsoft/onnxruntime
pythia6 428-alice1 https://github.com/alisw/pythia6
pythia8 8307 https://pythia.org/
root 6.26.10 https://root.cern
vc 1.4.3 https://github.com/VcDevel/Vc
vgm 5-0 https://github.com/vmc-project/vgm
vmc 2-0 https://github.com/vmc-project/vmc
zeromq 4.3.4 https://github.com/zeromq/libzmq