The environment has been tested on linux (requires singularity v3+ or apptainer v1+) and MacOS (requires docker)
Please follow the steps below to setup and run the container in your environment.
- Create a local directory that you want to work in, e.g
$HOME/eic
, and go into this directory.
mkdir $HOME/eic
cd $HOME/eic
- Execute the following line in your terminal to setup your environment in this directory to install the latest stable container
curl -L https://github.com/eic/eic-shell/raw/main/install.sh | bash
- You can now load your development environment by executing the
eic-shell
script that is in your top-level working directory.
./eic-shell
- Within your development environment (
eic-shell
), you can install software to the internal prefix$EIC_SHELL_PREFIX
Note: this container download script is meant for expert usage. If it is unclear to you why you would want to do this, you are probably looking for the simple installation above.
You can use the same install scripts to setup other container setups, including eic_dev
(the main development container). Note that for eic_dev
there is no nighlty release, and
the appropriate version (tag) would be testing
. To setup the eic_dev:testing
environment, do
curl -L https://github.com/eic/eic-shell/raw/main/install.sh | bash -s -- -c eic_dev -v testing
- Included software (for the exact versions, use the command
eic-info
inside the container):- gcc
- madx
- cmake
- fmt cxxstd=17
- spdlog
- nlohmann-json
- heppdt
- clhep cxxstd=17
- eigen
- python
- py-numpy
- py-pip
- pkg-config
- xrootd cxxstd=17 +python
- root cxxstd=17 +fftw +fortran +gdml +http +mlp +pythia8 +root7 +tmva +vc +xrootd +ssl ^mesa swr=none +opengl -llvm -osmesa
- pythia8 +fastjet
- fastjet
- hepmc3 +python +rootio
- stow
- cairo +fc+ft+X+pdf+gobject
- podio
- geant4 cxxstd=17 +opengl +vecgeom +x11 +qt +threads ^qt +opengl
- dd4hep +geant4 +assimp +hepmc3 +ipo +lcio
- acts +dd4hep +digitization +identification +json +tgeo +ipo +examples +fatras +geant4
- genfit
- gaudi
- dawn
- dawncut
- opencascade
- emacs toolkit=athena
- imagemagick
- igprof
- The singularity build exports the following applications:
- eic-shell: a development shell in the image
These instructions are old and need updating. In general we recommend using
eicweb/juggler:latest
for most CI usages. This image is functionally identical to
eic_xl:nightly
The docker containers are publicly accessible from
Dockerhub. You probably want to use the default
eic_xl
container. Relevant versions are:
eicweb/eic_xl:nightly
: nightly release, with latest detector and reconstruction version. This is probably what you want to use unless you are dispatching a large simulation/reconstruciton jobeicweb/eic_xl:3.0-stable
: latest stable release, what you want to use for large simulation jobs (for reproducibility). Please coordinate with the software group to ensure all desired software changes are present in this container.
-
To load the container environment in your run scripts, you have to do nothing special.
The environment is already setup with good defaults, so you can use all the programs in the container as usual and assume everything needed to run the included software is already setup. -
If using this container as a basis for a new container, you can direction access the full container environment from a docker
RUN
shell command with no further action needed. For the most optimal experience, you can install your software to/usr/local
to fully integrate with the existing environment.