Cvmfs spack areas

Setting up spack

Interactive use

To get a spack environment setup to use:

source /cvmfs/

(or similarly with .csh for folks using a csh/tcsh shell)

Then you can use spack find and spack load to list and get access to software distributed via spack. You can use the
shortcut os=fe to find packages built for the current OS.

<bel-kwinith:~$> spack find python os=fe
==> 4 installed packages
-- linux-scientific7-i386 / gcc@4.1.1 ---------------------------

-- linux-scientific7-x86_64 / gcc@4.1.1 -------------------------
python@2.6.2  python@2.7.3

-- linux-scientific7-x86_64 / gcc@4.8.5 -------------------------
<bel-kwinith:~$> spack load python@2.7.16 os=fe
<bel-kwinith:~$> python -V
Python 2.7.16

In GRID jobs:

If you are using a shell script wrapper for your job you can use the same syntax as above.

If you're using fife_wrap/fife_launch from the fife_utils product, you can include in your [job_setup] section:

source      = /cvmfs/
spack-load  = ifdhc@2.5.2 os=fe ^python@:0

This points out an odd case, the ifdhc package has some versions built against a particular python (i.e. python 2.6), and others built with the system python (i.e. no python spack package):

<bel-kwinith:~$> spack find --deps ifdhc@2.5.2 os=fe
==> 2 installed packages
-- linux-scientific7-x86_64 / gcc@4.1.1 -------------------------


Thus you want to specify what python dependency you want; you can get the empty one by saying you want python less than version zero ^python:0@. You can get the other by saying you want a depndency on python 2.6.2 ^python@2.6.2.

using packages from spack

spack find -l openssl
sos=`spack arch --operating-system`
spack load openssl os=$sos

Adding packages to /cvmfs/ areas

Spack packages

  • build the package somewhere else under spack ( with a nice long install path.
  • place it in the site build cache (instructions)
  • add it to the cache list in /grid/fermiapp/cvmfsfermilab/triggers/common/workfile using spack-cmfs.

UPS pacakges

  • install in /grid/fermiapp/products/common
  • run the regular sync-cvmfs script
  • the cron job should update via ups_to_spack.

Adding packages to other /cvmfs/ areas

Spack packages

  • build the package somewhere else under spack (
  • place it in the site build cache (instructions)
  • ssh into publisher host
  • start a cvmfs transaction
  • spack buildcache install package-name/hash
  • end the cvmfs transaction