Skip to content

Data generation failing with EB 5.3.0 #19

Closed

Description

@ocaisa
96.5% - /cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/intel/icelake/software/tbb/2021.13.0-GCCcore-13.3.0/easybuild/tbb-2021.13.0-GCCcore-13.3.0.eb
Traceback (most recent call last):
  File "/cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/intel/icelake/software/EasyBuild/5.3.0/lib/python3.13/site-packages/easybuild/tools/include.py", line 145, in verify_imports
    pymod = __import__(pymod_spec, fromlist=[pypkg])
  File "/tmp/eb-n8m97ty_/tmpxktgtlct/included-easyblocks-cr2lh6ys/easybuild/easyblocks/generic/pythonpackage.py", line 45, in <module>
    from easybuild.easyblocks.python import EXTS_FILTER_DUMMY_PACKAGES, EXTS_FILTER_PYTHON_PACKAGES, set_py_env_vars
ImportError: cannot import name 'EXTS_FILTER_DUMMY_PACKAGES' from 'easybuild.easyblocks.python' (/tmp/eb-n8m97ty_/tmpxktgtlct/included-easyblocks-z1t731_k/easybuild/easyblocks/python.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/api_data/api_data/scripts/generate_data_files.py", line 269, in <module>
    easyblocks_dir = include_easyblocks(tmpdir, [eb_hooks_path + "/*.py"])
  File "/cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/intel/icelake/software/EasyBuild/5.3.0/lib/python3.13/site-packages/easybuild/tools/include.py", line 209, in include_easyblocks
    verify_imports([os.path.splitext(eb)[0] for eb in ebs], pkg, loc)
    ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/cvmfs/software.eessi.io/versions/2025.06/software/linux/x86_64/intel/icelake/software/EasyBuild/5.3.0/lib/python3.13/site-packages/easybuild/tools/include.py", line 149, in verify_imports
    raise EasyBuildError("Failed to import easyblock %s from %s: %s", pymod_spec, from_path, err)
easybuild.tools.build_log.EasyBuildError: Failed to import easyblock easybuild.easyblocks.generic.pythonpackage from /tmp/eb-n8m97ty_/tmpxktgtlct/included-easyblocks-cr2lh6ys/easybuild/easyblocks/generic: cannot import name 'EXTS_FILTER_DUMMY_PACKAGES' from 'easybuild.easyblocks.python' (/tmp/eb-n8m97ty_/tmpxktgtlct/included-easyblocks-z1t731_k/easybuild/easyblocks/python.py)

Activity

  1. ocaisa commented on Apr 14, 2026

    @ocaisa
    MemberAuthor
  2. ocaisa commented on Apr 14, 2026

    @ocaisa
    MemberAuthor

    This is still broken, I don't think I'm cleaning up included easyblocks properly in

    eb_hooks_path = use_timestamped_reprod_if_exists(f"{os.path.dirname(easyconfig)}/reprod/easyblocks")
    easyblocks_dir = include_easyblocks(tmpdir, [eb_hooks_path + "/*.py"])
    with suppress_stdout():
    parsed_ec = process_easyconfig(easyconfig)[0]
    # included easyblocks are the first entry in sys.path, so just pop them but keep a list of what was used
    sys.path.pop(0)
    easyblocks_used = [
    os.path.basename(f)
    for f in glob.glob(f"{easyblocks_dir}/**/*.py", recursive=True)
    if os.path.basename(f) != "__init__.py"
    ]
    shutil.rmtree(easyblocks_dir)

    I suspect I have a python easyblock cached which doesn't have a constant now required by pythonpackage

  3. boegel commented on Apr 15, 2026

    @boegel
    Contributor

    I think you'll need to delete entries from sys.modules and probably also do a reload(easybuild.easyblocks) & co, see for example https://github.com/easybuilders/easybuild-framework/blob/main/test/framework/options.py#L2339

  4. ocaisa commented on Apr 15, 2026

    @ocaisa
    MemberAuthor

    Solved in #22

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions