Steps to reproduce
- Spec an external installation of MKL as
intel-oneapi-mkl +cluster in packages.yaml
- Install any package with the above
intel-oneapi-mkl +cluster as a dependency.
This bug was introduced in #37386. Since externals don't have dependencies in their specs, the reference to mpi fails and results in an error.
It would be ideal to have a fix which accomplishes the same goal as the above PR but in a way which works for external MKL as well, as the PR is valuable for fixing build errors which result when building serial libraries, for example blaspp ^intel-oneapi-mkl +cluster.
Error message
==> Error: KeyError: 'No spec with name mpi in intel-oneapi-mkl@2023.1.0%oneapi@2023.1.0+cluster~envmods~ilp64+shared build_system=generic arch=linux-sles15-x86_64'
.../spack/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py:168, in _find_mkl_libs:
165
166 resolved_libs = find_libraries(libs, lib_path, shared=shared)
167 if "+cluster" in self.spec:
>> 168 resolved_libs = resolved_libs + self.spec["mpi"].libs
169 return resolved_libs
Information on your system
- Spack: 0.20.0.dev0 (b1b7dab180ba0be240dd8983d8173fa1590ef080)
- Python: 3.6.15
- Platform: linux-sles15-icelake
- Concretizer: clingo
General information
Steps to reproduce
intel-oneapi-mkl +clusterinpackages.yamlintel-oneapi-mkl +clusteras a dependency.This bug was introduced in #37386. Since externals don't have dependencies in their specs, the reference to mpi fails and results in an error.
It would be ideal to have a fix which accomplishes the same goal as the above PR but in a way which works for external MKL as well, as the PR is valuable for fixing build errors which result when building serial libraries, for example
blaspp ^intel-oneapi-mkl +cluster.Error message
Information on your system
General information
spack debug reportand reported the version of Spack/Python/Platform