Table of Contents
- Preface
- Installation from source
- Advanced topics and troubleshooting
- Tested systems
- Included packages
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.
Installing FairSoft is based on the standard CMake workflow.
Find the list of required system packages together with instructions on how to install them in the dependencies section.
git clone -b <release> https://github.com/FairRootGroup/FairSoft
For <release>
choose
jan24
, ornov22p1
, ... - a particular releasejan24_patches
- always points to the latest patch release for thenov22
releasemaster
- track the latest stable release (e.g. ifjan24
is the latest releasemaster
is the same asjan24_patches
)dev
- the bleeding edge development version
Discover releases here: https://github.com/FairRootGroup/FairSoft/releases
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!
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
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.
Find several advanced and troubleshooting topics in the advanced section.
The following systems are tested regularly. If you feel your system is missing, please contact us.
OS Name | Arch | OS Version | Compiler | CMake |
---|---|---|---|---|
Almalinux | x86_64 | 9 | GCC 11.4.1 | 3.27.4 (bootstrap-cmake.sh ) |
Debian | x86_64 | 10 | GCC 8.3.0 | 3.27.4 (bootstrap-cmake.sh ) |
Debian | x86_64 | 11 | GCC 10.2.1 | 3.27.4 (bootstrap-cmake.sh ) |
Debian | x86_64 | 12 | GCC 12.2.0 | 3.25.1 |
Fedora | x86_64 | 37 | GCC 12.3.1 | 3.27.7 |
Fedora | x86_64 | 38 | GCC 13.2.1 | 3.27.7 |
Fedora | x86_64 | 39 | GCC 13.2.1 | 3.27.7 |
macOS | x86_64 | 13 | AppleClang 15, gfortran 14 | 3.29.4 (brew) |
macOS | x86_64 | 14 | AppleClang 15, gfortran 14 | 3.29.4 (brew) |
macOS | arm64 | 14 | AppleClang 15, gfortran 14 | 3.29.4 (brew) |
Ubuntu | x86_64 | 22.04 | GCC 11.4.0 | 3.22.1 |
Ubuntu | x86_64 | 24.04 | GCC 13.2.0 | 3.28.3 |
Package | Version | URL |
---|---|---|
boost | 1.83.0 | https://www.boost.org/ |
clhep | 2.4.7.1 | http://proj-clhep.web.cern.ch |
dds | 3.8 | http://dds.gsi.de |
faircmakemodules | 1.0.0 | https://github.com/FairRootGroup/FairCMakeModules |
fairlogger | 1.11.1 | https://github.com/FairRootGroup/FairLogger |
fairmq | 1.8.4 | https://github.com/FairRootGroup/FairMQ |
flatbuffers | 23.5.26 | https://github.com/google/flatbuffers |
fmt | 10.1.1 | https://github.com/fmtlib/fmt |
geant3 | 4-2_fairsoft | https://github.com/FairRootGroup/geant3 |
geant4 | 11.2.0 | https://geant4.web.cern.ch |
geant4_vmc | 6-5 | 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 | 8310 | https://pythia.org/ |
root | 6.30.08 | https://root.cern |
vc | 1.4.4 | https://github.com/VcDevel/Vc |
vgm | 5-2 | https://github.com/vmc-project/vgm |
vmc | 2-0 | https://github.com/vmc-project/vmc |
zeromq | 4.3.5 | https://github.com/zeromq/libzmq |