diff options
-rw-r--r-- | lib/spack/spack/cmd/bootstrap.py | 2 | ||||
-rwxr-xr-x | share/spack/setup-env.sh | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/spack/spack/cmd/bootstrap.py b/lib/spack/spack/cmd/bootstrap.py index f6464f97b8..593b581c30 100644 --- a/lib/spack/spack/cmd/bootstrap.py +++ b/lib/spack/spack/cmd/bootstrap.py @@ -46,7 +46,7 @@ def bootstrap(parser, args, **kwargs): # Define requirement dictionary defining general specs which need # to be satisfied, and the specs to install when the general spec # isn't satisfied. - requirement_dict = {'environment-modules': 'environment-modules@3.2.10~X'} + requirement_dict = {'environment-modules': 'environment-modules~X'} for requirement in requirement_dict: installed_specs = spack.store.db.query(requirement) diff --git a/share/spack/setup-env.sh b/share/spack/setup-env.sh index f82a55d8f1..19bb3e24e8 100755 --- a/share/spack/setup-env.sh +++ b/share/spack/setup-env.sh @@ -272,10 +272,16 @@ if [ "${need_module}" = "yes" ]; then # _sp_module_prefix is set by spack --print-sh-vars if [ "${_sp_module_prefix}" != "not_installed" ]; then - #activate it! - export MODULE_PREFIX=${_sp_module_prefix} - _spack_pathadd PATH "${MODULE_PREFIX}/Modules/bin" - module() { eval `${MODULE_PREFIX}/Modules/bin/modulecmd ${SPACK_SHELL} $*`; } + # activate it! + # environment-modules@4: has a bin directory inside its prefix + MODULE_PREFIX_BIN="${_sp_module_prefix}/bin" + if [ ! -d "${MODULE_PREFIX_BIN}" ]; then + # environment-modules@3 has a nested bin directory + MODULE_PREFIX_BIN="${_sp_module_prefix}/Modules/bin" + fi + export MODULE_PREFIX_BIN + _spack_pathadd PATH "${MODULE_PREFIX_BIN}" + module() { eval `${MODULE_PREFIX_BIN}/modulecmd ${SPACK_SHELL} $*`; } fi; else eval `spack --print-shell-vars sh` |