summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHarmen Stoppels <me@harmenstoppels.nl>2023-11-07 17:17:31 +0100
committerGitHub <noreply@github.com>2023-11-07 17:17:31 +0100
commit75dfad8788f518e740a7e2fb80aabc1db61dd403 (patch)
tree9e8d7e986813c57770d1c1dc255de8e039c31272 /lib
parentf3ba20db260c96a5eb9293ac311625cbdfb4192e (diff)
downloadspack-75dfad8788f518e740a7e2fb80aabc1db61dd403.tar.gz
spack-75dfad8788f518e740a7e2fb80aabc1db61dd403.tar.bz2
spack-75dfad8788f518e740a7e2fb80aabc1db61dd403.tar.xz
spack-75dfad8788f518e740a7e2fb80aabc1db61dd403.zip
catch exceptions in which_string (#40935)
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/util/executable.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/spack/spack/util/executable.py b/lib/spack/spack/util/executable.py
index 3aea141d87..36c7e73e06 100644
--- a/lib/spack/spack/util/executable.py
+++ b/lib/spack/spack/util/executable.py
@@ -330,8 +330,11 @@ def which_string(*args, **kwargs):
for candidate_item in candidate_items:
for directory in search_paths:
exe = directory / candidate_item
- if exe.is_file() and os.access(str(exe), os.X_OK):
- return str(exe)
+ try:
+ if exe.is_file() and os.access(str(exe), os.X_OK):
+ return str(exe)
+ except OSError:
+ pass
if required:
raise CommandNotFoundError("spack requires '%s'. Make sure it is in your path." % args[0])