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! Spack is a package management tool designed to support multiple versions
There are many possible pitfalls why some parts of the software might not be installed, give compilation errors, etc. and configurations of software on a wide variety of platforms and environments.
Then it require some spack-kung-foo to debug and recover the installation. Finally you may end up with different It was designed for large supercomputing centers but can also be used by a regular users.
options compiled (like QT support for Geant4) so your installation (or even simulation results!) are different than in production.
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 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.
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:
.. code:: bash .. code:: bash
git clone https://github.com/spack/spack.git git clone https://github.com/spack/spack.git
. spack/share/spack/setup-env.sh
#Source environment git clone https://github.com/eic/eic-spack.git # Add this to your e.g. ~/.bashrc
# 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 repo add eic-spack 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 .. code:: yaml
spack: spack:
specs: specs:
- assimp +ipo - acts +dd4hep +digitization +examples +fatras +geant4 +identification +json +tgeo +ipo
- acts@8.03.0 +dd4hep +digitization +examples +fatras +identification +json +tgeo - boost@1.76.00
+ipo - cmake
- cmake - clhep cxxstd=17
- clhep cxxstd=17 - dd4hep +geant4 +assimp +hepmc3 +lcio +ipo
- dd4hep +geant4 +hepmc3 +lcio +ipo - eigen
- eigen - gaudi +ipo
- gaudi@34.0 +ipo - geant4 +ipo +qt +opengl -python +threads +vecgeom cxxstd=17
- geant4 +ipo -qt -opengl -python +vecgeom cxxstd=17 - genfit +ipo
- genfit +ipo - hepmc3 +interfaces +python +rootio
- hepmc3 +interfaces +python +rootio - lcio +ipo
- lcio +ipo - mesa -llvm swr=none
- nano - nano
- opencascade +ipo +tbb -vtk - podio +ipo
- podio +ipo - pythia8 +fastjet
- pythia8 +fastjet - root cxxstd=17 +fftw +fortran +gdml +mlp +pythia8 +root7 +tmva +vc +xrootd +ssl
- root cxxstd=17 +fftw +fortran +gdml +mlp +pythia8 +root7 +tmva +vc +xrootd +ssl - xrootd cxxstd=17 +python
- singularity +suid - igprof
- xrootd cxxstd=17 +python - npdet +geocad
- eicd - eicd
- npdet@master - log4cxx
- afterburner +zlib +root
- juggler
- athena-eic +reconstruction
- py-pandas
- py-matplotlib
concretization: together concretization: together
config: config:
install_missing_compilers: true install_missing_compilers: true
# install_tree: /opt/software # Optional: install path and view path
view: false # 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 create athena athena.yaml
spack env activate athena spack env activate athena
spack install spack concretize
\ No newline at end of file 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