From 1b18ec90abadf6e476a5e5fe1c82d18849c1d18d Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 26 Sep 2019 22:51:16 +0200 Subject: Add all compatible system types directory to module paths fixes #12915 closes #12916 Since Spack has support for specific targets it might happen that software is built for targets that are not exactly the host because it was either an explicit user request or the compiler being used is too old to support the host. Modules for different targets are written into different directories and by default Spack was adding to MODULEPATH only the directory corresponding to the current host. This PR modifies this behavior to add all the directories that are **compatible** with the current host. --- share/spack/setup-env.csh | 5 ++++- share/spack/setup-env.sh | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'share') diff --git a/share/spack/setup-env.csh b/share/spack/setup-env.csh index f2b5b00006..ac5479196d 100755 --- a/share/spack/setup-env.csh +++ b/share/spack/setup-env.csh @@ -26,8 +26,11 @@ if ($?SPACK_ROOT) then # Set up modules and dotkit search paths in the user environment set tcl_roots = `echo $_sp_tcl_roots:q | sed 's/:/ /g'` + set compatible_sys_types = `echo $_sp_compatible_sys_types:q | sed 's/:/ /g'` foreach tcl_root ($tcl_roots:q) - _spack_pathadd MODULEPATH "$tcl_root/$_sp_sys_type" + foreach systype ($compatible_sys_types:q) + _spack_pathadd MODULEPATH "$tcl_root/$systype" + end end set dotkit_roots = `echo $_sp_dotkit_roots:q | sed 's/:/ /g'` diff --git a/share/spack/setup-env.sh b/share/spack/setup-env.sh index ae6d00a47b..0fd5eb30f7 100755 --- a/share/spack/setup-env.sh +++ b/share/spack/setup-env.sh @@ -350,7 +350,9 @@ _sp_multi_pathadd() { setopt sh_word_split fi for pth in $2; do - _spack_pathadd "$1" "${pth}/${_sp_sys_type}" + for systype in ${_sp_compatible_sys_types}; do + _spack_pathadd "$1" "${pth}/${systype}" + done done } _sp_multi_pathadd MODULEPATH "$_sp_tcl_roots" -- cgit v1.2.3-60-g2f50