Warning, /eic-shell/README.md is written in an unsupported language. File is not indexed.
0001 EIC software environment container utilities
0002 ============================================
0003
0004 Running in browser
0005 ------------------
0006
0007 [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/eic/eic-shell?quickstart=1)
0008
0009 Local Installation
0010 ------------------
0011
0012 *The environment has been tested on linux (requires singularity v3+ or apptainer v1+)
0013 and MacOS (requires docker)*
0014
0015 Please follow the steps below to setup and run the container in your environment.
0016
0017 1. Create a local directory that you want to work in, e.g `$HOME/eic`, and go into this
0018 directory.
0019 ```bash
0020 mkdir $HOME/eic
0021 cd $HOME/eic
0022 ```
0023
0024 2. Execute the following line in your terminal to setup your environment in this directory
0025 to install the latest stable container
0026 ```bash
0027 curl -L https://github.com/eic/eic-shell/raw/main/install.sh | bash
0028 ```
0029
0030 3. You can now load your development environment by executing the `eic-shell` script that
0031 is in your top-level working directory.
0032 ```bash
0033 ./eic-shell
0034 ```
0035
0036 4. Within your development environment (`eic-shell`), you can install software to the
0037 internal prefix `$EIC_SHELL_PREFIX`
0038
0039 Installation for Development Usage
0040 ----------------------------------
0041 **Note: this container download script is meant for expert usage. If it is unclear to you
0042 why you would want to do this, you are probably looking for the simple installation above.**
0043
0044 You can use the same install scripts to setup other container setups, including `eic_dev`
0045 (the main development container). Note that for `eic_dev` there is no nighlty release, and
0046 the appropriate version (tag) would be `testing`. To setup the `eic_dev:testing` environment, do
0047 ```bash
0048 curl -L https://github.com/eic/eic-shell/raw/main/install.sh | bash -s -- -c eic_dev -v testing
0049 ```
0050
0051 Included software:
0052 ------------------
0053 - Included software (for the exact versions, use the command `eic-info` inside the container):
0054 - gcc
0055 - madx
0056 - cmake
0057 - fmt cxxstd=17
0058 - spdlog
0059 - nlohmann-json
0060 - heppdt
0061 - clhep cxxstd=17
0062 - eigen
0063 - python
0064 - py-numpy
0065 - py-pip
0066 - pkg-config
0067 - xrootd cxxstd=17 +python
0068 - root cxxstd=17
0069 +fftw +fortran +gdml +http +mlp +pythia8
0070 +root7 +tmva +vc +xrootd +ssl
0071 ^mesa swr=none +opengl -llvm -osmesa
0072 - pythia8 +fastjet
0073 - fastjet
0074 - hepmc3 +python +rootio
0075 - stow
0076 - cairo +fc+ft+X+pdf+gobject
0077 - podio
0078 - geant4 cxxstd=17 +opengl +vecgeom +x11 +qt +threads ^qt +opengl
0079 - dd4hep +geant4 +assimp +hepmc3 +ipo +lcio
0080 - acts +dd4hep +digitization +identification +json +tgeo +ipo +examples +fatras +geant4
0081 - genfit
0082 - gaudi
0083 - dawn
0084 - dawncut
0085 - opencascade
0086 - emacs toolkit=athena
0087 - imagemagick
0088 - igprof
0089 - The singularity build exports the following applications:
0090 - eic-shell: a development shell in the image
0091
0092 Using the docker container for your CI purposes
0093 -----------------------------------------------
0094
0095 **These instructions are old and need updating. In general we recommend using
0096 `eicweb/juggler:latest` for most CI usages. This image is functionally identical to
0097 `eic_xl:nightly`**
0098
0099 The docker containers are publicly accessible from
0100 [Dockerhub](https://hub.docker.com/u/eicweb). You probably want to use the default
0101 `eic_xl` container. Relevant versions are:
0102 - `eicweb/eic_xl:nightly`: nightly release, with latest detector and reconstruction
0103 version. This is probably what you want to use unless you are dispatching a large
0104 simulation/reconstruciton job
0105 - `eicweb/eic_xl:3.0-stable`: latest stable release, what you want to use for large
0106 simulation jobs (for reproducibility). Please coordinate with the software group to
0107 ensure all desired software changes are present in this container.
0108
0109 1. To load the container environment in your run scripts, you have to do nothing special.
0110 The environment is already setup with good defaults, so you can use all the programs
0111 in the container as usual and assume everything needed to run the included software
0112 is already setup.
0113
0114 2. If using this container as a basis for a new container, you can direction access
0115 the full container environment from a docker `RUN` shell command with no further
0116 action needed. For the most optimal experience, you can install your software to
0117 `/usr/local` to fully integrate with the existing environment.