From e72ad6223a8d48b064d4a344b3a68d71fe47a953 Mon Sep 17 00:00:00 2001 From: Peter Scheibel Date: Tue, 23 Feb 2021 09:53:07 -0800 Subject: reduce strictness of directory layout spec-equality check (#21869) --- lib/spack/spack/directory_layout.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/directory_layout.py b/lib/spack/spack/directory_layout.py index cbaa9b47fd..9cf148a33f 100644 --- a/lib/spack/spack/directory_layout.py +++ b/lib/spack/spack/directory_layout.py @@ -347,7 +347,13 @@ class YamlDirectoryLayout(DirectoryLayout): # # TODO: remove this when we do better concretization and don't # ignore build-only deps in hashes. - elif installed_spec == spec.copy(deps=('link', 'run')): + elif (installed_spec.copy(deps=('link', 'run')) == + spec.copy(deps=('link', 'run'))): + # The directory layout prefix is based on the dag hash, so among + # specs with differing full-hash but matching dag-hash, only one + # may be installed. This means for example that for two instances + # that differ only in CMake version used to build, only one will + # be installed. return path if spec.dag_hash() == installed_spec.dag_hash(): -- cgit v1.2.3-60-g2f50