-
Notifications
You must be signed in to change notification settings - Fork 308
Description
When installing (the latest or a recent version of) EasyBuild using an older EasyBuild version, and using the updated EasyBuildMeta easyblock from #2805 (which does the installation using pip and fixes compatibility with recent setuptools versions), a crash occurs because of the changes to the PythonPackage easyblock that were done in #2828 .
$ eb --version
This is EasyBuild 4.5.0 ...
$ eb --install-latest-eb-release --include-easyblocks-from-pr 2805
...
File "/tmp/eb-vdp62f2m/included-easyblocks-keqxive1/easybuild/easyblocks/easybuildmeta.py", line 277, in sanity_check_step
super(EB_EasyBuildMeta, self).sanity_check_step(custom_paths=custom_paths, custom_commands=custom_commands)
File "/tmp/eb-vdp62f2m/included-easyblocks-keqxive1/easybuild/easyblocks/generic/pythonpackage.py", line 796, in sanity_check_step
if not self.sanity_check_module_loaded:
AttributeError: 'EB_EasyBuildMeta' object has no attribute 'sanity_check_module_loaded'
The problem here is that using --include-easyblocks-from-pr 2805 not only pulls in the updated EasyBuildMeta easyblock from develop (since #2805 is merged), but also the updated PythonPackage easyblock (which includes the changes from #2828).
The latter relies on the changes made to EasyBuild framework in easybuilders/easybuild-framework#4125, which are only included in EasyBuild >= 4.7.0 .
We should try and avoid this, since it break a typical way of updating EasyBuild (both only if --include-easyblocks-from-pr 2805 is used, which may be necessary due to having a recent setuptools).