cray module do not work without CRAY_LD_LIBRARY_PATH (#17031)
Co-authored-by: Gregory Becker <becker33.llnl.gov>
This commit is contained in:
parent
c0cdc00409
commit
5b59e883c1
2 changed files with 9 additions and 5 deletions
|
@ -32,6 +32,7 @@
|
||||||
Skimming this module is a nice way to get acquainted with the types of
|
Skimming this module is a nice way to get acquainted with the types of
|
||||||
calls you can make from within the install() function.
|
calls you can make from within the install() function.
|
||||||
"""
|
"""
|
||||||
|
import re
|
||||||
import inspect
|
import inspect
|
||||||
import multiprocessing
|
import multiprocessing
|
||||||
import os
|
import os
|
||||||
|
@ -148,11 +149,14 @@ def clean_environment():
|
||||||
env.unset('DYLD_LIBRARY_PATH')
|
env.unset('DYLD_LIBRARY_PATH')
|
||||||
env.unset('DYLD_FALLBACK_LIBRARY_PATH')
|
env.unset('DYLD_FALLBACK_LIBRARY_PATH')
|
||||||
|
|
||||||
# On Cray systems newer than CNL5, unset CRAY_LD_LIBRARY_PATH to avoid
|
# On Cray "cluster" systems, unset CRAY_LD_LIBRARY_PATH to avoid
|
||||||
# interference with Spack dependencies. CNL5 (e.g. Blue Waters) requires
|
# interference with Spack dependencies.
|
||||||
# these variables to be set.
|
# CNL requires these variables to be set (or at least some of them,
|
||||||
|
# depending on the CNL version).
|
||||||
hostarch = arch.Arch(arch.platform(), 'default_os', 'default_target')
|
hostarch = arch.Arch(arch.platform(), 'default_os', 'default_target')
|
||||||
if str(hostarch.platform) == 'cray' and str(hostarch.os) != 'cnl5':
|
on_cray = str(hostarch.platform) == 'cray'
|
||||||
|
using_cnl = re.match(r'cnl\d+', str(hostarch.os))
|
||||||
|
if on_cray and not using_cnl:
|
||||||
env.unset('CRAY_LD_LIBRARY_PATH')
|
env.unset('CRAY_LD_LIBRARY_PATH')
|
||||||
for varname in os.environ.keys():
|
for varname in os.environ.keys():
|
||||||
if 'PKGCONF' in varname:
|
if 'PKGCONF' in varname:
|
||||||
|
|
|
@ -127,7 +127,7 @@ def get_path_args_from_module_line(line):
|
||||||
# OPERATION VAR_NAME PATH_ARG
|
# OPERATION VAR_NAME PATH_ARG
|
||||||
words = line.split()
|
words = line.split()
|
||||||
if len(words) > 2:
|
if len(words) > 2:
|
||||||
path_arg = line.split()[2]
|
path_arg = words[2]
|
||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue