We are trying to install openmpi via spack with support for slurm on a cluster running debian 10:
spack spec ope...@4.0.5 %g...@10.2.0 +cxx+pmi schedulers=slurm
When I try to install this package via spack, I end up with a longer error message from spack (partly given below). From the log file (see below), it seems that the problem is related to the library libpmi or libpmi2 that are not found by the configure script.
The slurm version that we use is provided by the OS and defined in the packages.yaml file by the entry
slurm:
externals:
- spec: sl...@18.08.5-2
prefix: /usr
buildable: false
The related SLURM PMI2 files are provided by the debian package "libpmi2-0-dev" that contains the following files
=> apt-file list libpmi2-0-dev
libpmi2-0-dev: /usr/include/slurm/pmi2.h
libpmi2-0-dev: /usr/lib/x86_64-linux-gnu/libpmi2.a
libpmi2-0-dev: /usr/lib/x86_64-linux-gnu/
libpmi2.lalibpmi2-0-dev: /usr/lib/x86_64-linux-gnu/libpmi2.so
libpmi2-0-dev: /usr/share/doc/libpmi2-0-dev/changelog.Debian.gz
libpmi2-0-dev: /usr/share/doc/libpmi2-0-dev/copyright
The configuration script run during the spack installation of openmpi finds the headerfile /usr/include/slurm/pmi2.h but not the libraries under /usr/lib/x86_64-linux-gnu/
I have checked that if I manually provide the EXTRA option '--with-pmi-libdir=/usr/lib/x86_64-linux-gnu' to the configure script for openmpi [in addition to '--with-pmi=/usr'], it finds libpmi2, and I can compile the package.
So finally my question: Is there, from within spack, is a way to provide this extra option to configure (or another way to proceed) to install this package. I want to make sure there is no simple way within spack to sort this out before starting to making links inside the OS file hierarchy or to compiling openmpi manually.