From 9957093e53f927462868538d0d8e5e5bc96c61d7 Mon Sep 17 00:00:00 2001
From: Mario Melara <maamelara@gmail.com>
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 a7796e716e..581fae5540 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())
 
-- 
GitLab