NAG compiler fix: skip implicit RPATH detection (#15902)

* Skip collection of compiler link paths if compiler does not define a verbose flag

* modules config bug: allow user to configure a compiler without an explicit entry for loaded modules
This commit is contained in:
Peter Scheibel 2020-04-09 01:48:29 -07:00 committed by GitHub
parent 6d8a59be5b
commit 75640f0ed9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -250,13 +250,13 @@ def enable_new_dtags(self):
PrgEnv_compiler = None PrgEnv_compiler = None
def __init__(self, cspec, operating_system, target, def __init__(self, cspec, operating_system, target,
paths, modules=[], alias=None, environment=None, paths, modules=None, alias=None, environment=None,
extra_rpaths=None, enable_implicit_rpaths=None, extra_rpaths=None, enable_implicit_rpaths=None,
**kwargs): **kwargs):
self.spec = cspec self.spec = cspec
self.operating_system = str(operating_system) self.operating_system = str(operating_system)
self.target = target self.target = target
self.modules = modules self.modules = modules or []
self.alias = alias self.alias = alias
self.extra_rpaths = extra_rpaths self.extra_rpaths = extra_rpaths
self.enable_implicit_rpaths = enable_implicit_rpaths self.enable_implicit_rpaths = enable_implicit_rpaths
@ -317,6 +317,10 @@ def _get_compiler_link_paths(cls, paths):
first_compiler = next((c for c in paths if c), None) first_compiler = next((c for c in paths if c), None)
if not first_compiler: if not first_compiler:
return [] return []
if not cls.verbose_flag():
# In this case there is no mechanism to learn what link directories
# are used by the compiler
return []
try: try:
tmpdir = tempfile.mkdtemp(prefix='spack-implicit-link-info') tmpdir = tempfile.mkdtemp(prefix='spack-implicit-link-info')