-
Notifications
You must be signed in to change notification settings - Fork 308
Closed
Labels
Milestone
Description
Building GCCcore-system.eb fails if a suitable Intel license definition is not set
== 2022-10-25 19:38:56,495 filetools.py:2353 INFO Considering INTEL_LICENSE_FILE to find FlexLM license specs: []
== 2022-10-25 19:38:56,495 filetools.py:2353 INFO Considering LM_LICENSE_FILE to find FlexLM license specs: []
== 2022-10-25 19:38:56,495 filetools.py:2353 INFO Considering None to find FlexLM license specs: []
== 2022-10-25 19:38:56,496 filetools.py:2390 INFO Found valid license specs via provided license spec: []
== 2022-10-25 19:38:56,582 build_log.py:169 ERROR EasyBuild crashed with an error (at easybuild/src/easybuild-framework/easybuild/base/exceptions.py:124 in __init__): No viable license specifications found; specify 'license_file', or define $INTEL_LICENSE_FILE or $LM_LICENSE_FILE (at easybuild/src/easybuild-easyblocks/easybuild/easyblocks/generic/intelbase.py:287 in prepare_step)
Following this through:
prepare_stepinsystemcompiler.py, atEB_GCC.prepare_step(self, *args, **kwargs)super(EB_GCC, self).prepare_step(*args, **kwargs)ingcc.py- hit the check for Intel license in
intelbase.py
Any of the following avoid the issue:
- setting
requires_runtime_license = FalseinGCCcore-system.eb - changing
class SystemCompiler(Bundle, EB_GCC, EB_ifort)to beclass SystemCompiler(Bundle, EB_ifort, EB_GCC)insystemcompiler.py - setting fake Intel license information
The second of these makes me believe that the correct fix is making sure the inheritance order triggers the right super in gcc.py.