Skip to content
Snippets Groups Projects
Commit 17ea82ec authored by Dmitry Romanov's avatar Dmitry Romanov
Browse files

Spack installation update

parent a3cf6dc7
No related branches found
No related tags found
No related merge requests found
Local installation
Spack installation
==================
***(!)Warning(!)*** - local installation is for expert users only!
There are many possible pitfalls why some parts of the software might not be installed, give compilation errors, etc.
Then it require some spack-kung-foo to debug and recover the installation. Finally you may end up with different
options compiled (like QT support for Geant4) so your installation (or even simulation results!) are different than in production.
Spack is a package management tool designed to support multiple versions
and configurations of software on a wide variety of platforms and environments.
It was designed for large supercomputing centers but can also be used by a regular users.
We release container images exactly to avoid all the problems above. So if you don't want to struggle use them. But if you want...
Spack installation allows to install ATHENA stack natively
on your system (as much as possible). It is easier to work with in terms of IDEs,
OpenGL (Geant4 event display), debugging, etc. The downside of this is that it requires of
compilation of lots of packages, which takes time (hours) and is prone to errors
depending on your system. If setup fails, it require some spack-kung-foo to debug and
recover the installation. Thus:
Spack
-----
THIS TYPE OF INSTALLATION IS CONSIDERED FOR EXPERTS. DO IT ON YOUR OWN RISK.
Installation
------------
Install spack
.............
Spack is a package management tool designed to support multiple versions
and configurations of software on a wide variety of platforms and
environments. Spack allows to automatically build target packages with
all needed dependencies. `Sapck
documentation <https://spack.readthedocs.io/en/latest/getting_started.html#installation>`__
The installation consist of 3 steps then: 1. Install spack itself 2.
Install `eic-spack repository <https://github.com/eic/eic-spack>`__ (with EIC
packages) 3. Run spack command to install athena packages (like npdet)
To install spack and EIC repository:
To install Spack and EIC-Spack repository it is recommended to use master branch of spack as
several of issues we submitted are not yet on any tag.
.. code:: bash
git clone https://github.com/spack/spack.git
#Source environment
# For bash/zsh users
$ . spack/share/spack/setup-env.sh
# For tcsh/csh users
$ source spack/share/spack/setup-env.csh
You should be able now to use spack:
.. code:: bash
spack info root
(!) By default, all packages will be downloaded, built and installed in this spack directory
`More documentation on spack installation <https://spack.readthedocs.io/en/latest/getting_started.html#installation>`_
Clone and add `eic-spack repository <https://github.com/eic/eic-spack>`_:
.. code:: bash
# Adding the EIC Spack Repository
git clone https://github.com/eic/eic-spack.git
# Add this repository to your Spack configuration
. spack/share/spack/setup-env.sh
git clone https://github.com/eic/eic-spack.git # Add this to your e.g. ~/.bashrc
spack repo add eic-spack
Then you should be able to install ATHENA packages. The full spack environment for the stack:
Create environment file **athena.yaml** with the next content:
.. code:: yaml
spack:
specs:
- assimp +ipo
- acts@8.03.0 +dd4hep +digitization +examples +fatras +identification +json +tgeo
+ipo
- cmake
- clhep cxxstd=17
- dd4hep +geant4 +hepmc3 +lcio +ipo
- eigen
- gaudi@34.0 +ipo
- geant4 +ipo -qt -opengl -python +vecgeom cxxstd=17
- genfit +ipo
- hepmc3 +interfaces +python +rootio
- lcio +ipo
- nano
- opencascade +ipo +tbb -vtk
- podio +ipo
- pythia8 +fastjet
- root cxxstd=17 +fftw +fortran +gdml +mlp +pythia8 +root7 +tmva +vc +xrootd +ssl
- singularity +suid
- xrootd cxxstd=17 +python
- eicd
- npdet@master
- acts +dd4hep +digitization +examples +fatras +geant4 +identification +json +tgeo +ipo
- boost@1.76.00
- cmake
- clhep cxxstd=17
- dd4hep +geant4 +assimp +hepmc3 +lcio +ipo
- eigen
- gaudi +ipo
- geant4 +ipo +qt +opengl -python +threads +vecgeom cxxstd=17
- genfit +ipo
- hepmc3 +interfaces +python +rootio
- lcio +ipo
- mesa -llvm swr=none
- nano
- podio +ipo
- pythia8 +fastjet
- root cxxstd=17 +fftw +fortran +gdml +mlp +pythia8 +root7 +tmva +vc +xrootd +ssl
- xrootd cxxstd=17 +python
- igprof
- npdet +geocad
- eicd
- log4cxx
- afterburner +zlib +root
- juggler
- athena-eic +reconstruction
- py-pandas
- py-matplotlib
concretization: together
config:
install_missing_compilers: true
# install_tree: /opt/software
view: false
# Optional: install path and view path
# install_tree:
# root: /opt/software
#view: /opt/local
Copy this or download `athena.yaml <athena.yaml>`_
Create the environement from the file
.. code:: bash
.. code::bash
spack env create athena athena.yaml
spack env activate athena
spack install
\ No newline at end of file
spack concretize
spack install --fail-fast -v -j8
References
----------
- `Spack main documentation <https://spack.readthedocs.io/en/latest/>`__
- `Spack environments tutorial <https://spack-tutorial.readthedocs.io/en/latest/tutorial_environments.html>`__
- `EIC-spack repository <https://github.com/eic/eic-spack>`__
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment