From 9957093e53f927462868538d0d8e5e5bc96c61d7 Mon Sep 17 00:00:00 2001 From: Mario Melara Date: Fri, 17 May 2019 16:49:19 -0700 Subject: [PATCH] Execute modulecmd in bash shell (#11510) Adds executable=/bin/bash into Popen. We discovered this bug while working in a csh/tsch environment. By executing with /bin/bash we ensure that the module command works. --- lib/spack/spack/util/module_cmd.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/util/module_cmd.py b/lib/spack/spack/util/module_cmd.py index a7796e716e0..581fae5540d 100644 --- a/lib/spack/spack/util/module_cmd.py +++ b/lib/spack/spack/util/module_cmd.py @@ -35,7 +35,8 @@ def module(*args): module_p = subprocess.Popen(module_cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, - shell=True) + shell=True, + executable="/bin/bash") # Cray modules spit out warnings that we cannot supress. # This hack skips to the last output (the environment) @@ -51,7 +52,8 @@ def module(*args): module_p = subprocess.Popen(module_cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, - shell=True) + shell=True, + executable="/bin/bash") # Decode and str to return a string object in both python 2 and 3 return str(module_p.communicate()[0].decode())