Skip to content

crash when installing EasyBuild using older EasyBuild version with updated EasyBuildMeta easyblock #2864

@boegel

Description

@boegel

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).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions