From 6cda20472e7ed3c21ddb5e07207cbb91c64954e9 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 11 Aug 2020 10:11:01 +0200 Subject: [PATCH] Fix loading of compiler modules on CRAY (#17984) The modifications in 193e8333fa23a2e9b44d44a80e153d9a27033860 introduced a bug in the loading of compiler modules, since a function that was expecting a list of string was just getting a string. This commit fixes the bug and adds an assertion to verify the prerequisite of the function. --- lib/spack/spack/build_environment.py | 2 +- lib/spack/spack/util/module_cmd.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py index 7206ddb247..4a57dde77b 100644 --- a/lib/spack/spack/build_environment.py +++ b/lib/spack/spack/build_environment.py @@ -642,7 +642,7 @@ def get_rpaths(pkg): # Second module is our compiler mod name. We use that to get rpaths from # module show output. if pkg.compiler.modules and len(pkg.compiler.modules) > 1: - rpaths.append(path_from_modules(pkg.compiler.modules[1])) + rpaths.append(path_from_modules([pkg.compiler.modules[1]])) return list(dedupe(filter_system_paths(rpaths))) diff --git a/lib/spack/spack/util/module_cmd.py b/lib/spack/spack/util/module_cmd.py index 3b11851b60..bc994fd4b4 100644 --- a/lib/spack/spack/util/module_cmd.py +++ b/lib/spack/spack/util/module_cmd.py @@ -145,6 +145,8 @@ def path_from_modules(modules): Returns: Guess of the prefix path where the package """ + assert isinstance(modules, list), 'the "modules" argument must be a list' + best_choice = None for module_name in modules: # Read the current module and return a candidate path