You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EasyBuild couldn't run the sanity check for OpenMPI-5.0.3-GCC-13.3.0.eb
I ran EasyBuild 4.9.4 (framework: 4.9.4, easyblocks: 4.9.4) on Rocky Linux v9.4 with Python v3.9.18.
I did manage to run eb OpenMPI-5.0.3-GCC-13.3.0.eb--robot --skip-sanity-check, and then afterwards I ran eb OpenMPI-5.0.3-GCC-13.3.0.eb --robot --sanity-check-only, which gave me the following error msg:
== sanity checking...
ERROR: Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/easybuild/main.py", line 137, in build_and_install_software
(ec_res['success'], app_log, err) = build_and_install_one(ec, init_env)
File "/usr/local/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 4276, in build_and_install_one
result = app.run_all_steps(run_test_cases=run_test_cases)
File "/usr/local/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 4155, in run_all_steps
self.run_step(step_name, step_methods)
File "/usr/local/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 3990, in run_step
step_method(self)()
File "/usr/local/lib/python3.9/site-packages/easybuild/easyblocks/o/openmpi.py", line 222, in sanity_check_step
ranks = min(8, self.cfg['parallel'])
TypeError: '<' not supported between instances of 'NoneType' and 'int'
The problem seems to be that self.cfg['parallel'] in line 222 evaluates to None. I tried to add --parallel in the eb-command, that is, eb OpenMPI-5.0.3-GCC-13.3.0.eb --sanity-check-only --parallel=10 but that didn't help.
Hence I chaned line 222 in openmpi.py to
ranks = 8 if self.cfg['parallel'] == None else min(8, self.cfg['parallel'])
That got the sanity check running a bit furhter:
== sanity checking...
ERROR: Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/easybuild/main.py", line 137, in build_and_install_software
(ec_res['success'], app_log, err) = build_and_install_one(ec, init_env)
File "/usr/local/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 4276, in build_and_install_one
result = app.run_all_steps(run_test_cases=run_test_cases)
File "/usr/local/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 4155, in run_all_steps
self.run_step(step_name, step_methods)
File "/usr/local/lib/python3.9/site-packages/easybuild/framework/easyblock.py", line 3990, in run_step
step_method(self)()
File "/usr/local/lib/python3.9/site-packages/easybuild/easyblocks/o/openmpi.py", line 234, in sanity_check_step
src_path = os.path.join(self.cfg['start_dir'], srcdir, src)
File "/usr/lib64/python3.9/posixpath.py", line 76, in join
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
I hacked my way around that by changing the code around line 234 in openmpi.py into
scr_path_exists = False
if self.cfg['start_dir'] != None:
src_path = os.path.join(self.cfg['start_dir'], srcdir, src)
scr_path_exists = os.path.exists(src_path)
if scr_path_exists:
and then OpenMPI-5.0.3-GCC-13.3.0.eb passed the sanity check.
Thanks to @sassy-crick for helping out with the debug.
I'm very new to EasyBuild but I'd be happy to try and make a PR with the changes as listed above - if you agree that there is an issue with openmpi.py.
The text was updated successfully, but these errors were encountered:
EasyBuild couldn't run the sanity check for
OpenMPI-5.0.3-GCC-13.3.0.eb
I ran EasyBuild 4.9.4 (framework: 4.9.4, easyblocks: 4.9.4) on Rocky Linux v9.4 with Python v3.9.18.
I did manage to run
eb OpenMPI-5.0.3-GCC-13.3.0.eb--robot --skip-sanity-check
, and then afterwards I raneb OpenMPI-5.0.3-GCC-13.3.0.eb --robot --sanity-check-only
, which gave me the following error msg:The problem seems to be that
self.cfg['parallel']
in line 222 evaluates toNone
. I tried to add--parallel
in the eb-command, that is,eb OpenMPI-5.0.3-GCC-13.3.0.eb --sanity-check-only --parallel=10
but that didn't help.Hence I chaned line 222 in
openmpi.py
toThat got the sanity check running a bit furhter:
I hacked my way around that by changing the code around line 234 in
openmpi.py
intoand then
OpenMPI-5.0.3-GCC-13.3.0.eb
passed the sanity check.Details also described on EasyBuild Slack.
Thanks to @sassy-crick for helping out with the debug.
I'm very new to EasyBuild but I'd be happy to try and make a PR with the changes as listed above - if you agree that there is an issue with
openmpi.py
.The text was updated successfully, but these errors were encountered: