Conference call notes 20250507 - easybuilders/easybuild GitHub Wiki

(back to Conference calls)

Notes on the 269th EasyBuild conference call, Wednesday 7 May 2025 (15:00 UTC / 17:00 CEST)

Attendees

List of attendees (18):

  • Alex Domingo (Vrije Universiteit Brussel, Belgium
  • Em Dragowsky (Case Western Reserve University, Ohio, US)
  • Davide Grassano (CECAM)
  • Jasper Grimm (University of York, UK)
  • Thomas Hayward-Schneider (IPP, Germany)
  • Leonardo Honfi Camilo (Wageningen University, The Netherlands)
  • Kenneth Hoste (HPC-UGent, Belgium)
  • Georgios Kafanas (University of Luxembourg)
  • Kurt Lust (UAntwerpen / LUMI)
  • Sam Moors (Vrije Universiteit Brussel, Belgium)
  • Sébastien Moretti (SIB, Switzerland)
  • Mikael Öhman (Chalmers University of Technology, Sweden)
  • Bart Oldeman (McGill University, Digital Research Alliance of Canada)
  • Jure Pečar (EMBL, Germany)
  • Jan Reuter (JSC, Germany)
  • Åke Sandgren (Umeå University, Sweden)
  • Jörg Saßmannshausen (Imperial College London, UK)
  • Roberto Scipioni (Red Oak Consulting, UK)

Agenda

  • overview of recent developments
  • 2025a update of common toolchains
  • Q&A

Recent developments

  • latest EasyBuild release: EasyBuild v5.0.0 (18 March 2025) 🥳
  • next (stable) EasyBuild release: EasyBuid v5.0.1 (soon, days-not-weeks)
    • maybe even v5.1.0, depends on which PRs got merged by the time release can be done
    • "release after 5.0.0" milestones are being renamed to "5.0.1" + some issues/PRs are being moved to new "release after 5.0.1" milestone
      • still WIP...
    • too many distractions for Kenneth in recent days to actually get it done
      • a couple of helping hands (maintainers) would be welcome to streamline things a bit...
    • important PRs to include
      • Dataset easyblock (PR #3246)
      • promote candidates for 2025a toolchains to 2025a (foss/intel)
        • <year>[ab] tagging can also be used for other toolchains

News

  • TODO: plan (structural) merge sprint(s) (mainly for easyconfigs repo)
    • once a month, fixed day?
    • pairing up of maintainer with frequent contributor?

Merged PRs

(changed made in PRs marked with * are included latest EasyBuild stable release)

  • docs (merged PRs)

    • ...
  • framework (merged PRs)

    • bug fixes
      • Fix check_checksums when nosource: True is used (PR #4806)
      • Enhance RPATH sanity check to skip anything whose absolute path resolves to outside the install dir (PR #4854)
    • enhancements
      • add support for data installations (PR #4474)
      • allow specifying location for RPATH wrapper scripts via rpath_wrappers_dir + also pass rpath_include_dirs when preparing build environment for extensions(PR #4596)
      • print summary after the build in trace output (PR #4861)
        == Build succeeded for 3 out of 3
        == Summary:
           * [S] M4/1.4.19-GCCcore-12.2.0
           * [F] Bison/3.8.2-GCCcore-12.2.0
           * [-] flex/2.6.4-GCCcore-12.2.0
        
        would be nice to also include a legend, like:
        == Build succeeded for 3 out of 3
        == Summary ([-]: skipped, [F]: failed, [S]: success)
           * [S] M4/1.4.19-GCCcore-12.2.0
           * [F] Bison/3.8.2-GCCcore-12.2.0
           * [-] flex/2.6.4-GCCcore-12.2.0
        
    • changes
      • replace deprecation warning about reproducible tarballs on Python older than 3.9 to a regular warning (PR #4852)
    • code cleanup
      • ...
    • CI
      • ...
  • easyblocks (merged PRs)

    • bug fixes
      • ...
    • enhancements
      • add support for optarch to GoPackage easyblock (PR #3503)
      • enhance BuildEnv generic easyblock to copy RPATH wrapper scripts from build environment to installation directory (if available) (PR #3661)
      • Enhance LLVM easyblock to better handle offload builds (PR #3675)
    • updates
      • ...
    • changes
      • Do not build ld.gold with binutils 2.44 or newer (PR #3703)
    • new easyblocks
      • ...
    • code cleanup
      • ...
    • CI
      • ...
  • easyconfigs (merged PRs)

    • ~45 easyconfig PRs were merged since last conf call
    • bug fixes/reports
      • ...
    • enhancements
      • ...
    • (noteworthy) new software
      • ...
    • noteworthy software updates
      • GCC v15.1.0 (PR #22842)
        • C23 by default, see also https://gcc.gnu.org/gcc-15/porting_to.html
        • should we consider sticking to C17 in EasyBuild?
          • may lead to confusion, clashes with configure scripts
          • going against broader community is not in our best interest
    • cleanup
      • ...
    • changes
      • ...

Open (active) PRs

  • docs (open PRs + issues)

  • framework (open PRs + issues)

    • bugs
      • use new ModEnvVarType.STRICT_PATH_WITH_FILES with CMAKE_LIBRARY_PATH environment variable (PR #4858)
        • fixes issue #4844 Regression: CMAKE_LIBRARY_PATH=lib added to modulefiles
      • Fix is_patch_for for patch dicts (PR #4865)
      • Update fake module for each extension installed (PR #4868)
      • use of --from-pr or --include-easyblocks-from-pr sometimes fails because PR patch file was not downloaded (issue #4869)
        • HTTP return code 492: "Too Many Requests"
        • workaround implemented in PR #4870: implement exponential backoff in download_file + allow max. 8 attempts to download PR diff in fetch_files_from_pr
    • enhancements
      • add a CUDA device code sanity check (PR #4692)
      • Add AMDGCN option similar to cuda-compute-capabilities (WIP PR #4860)
      • add support for environment variables in set_environment of module generators (PR #4855)
    • code cleanup
      • move EasyBlock.expand_module_search_path into ModuleEnvironmentVariable.expand_paths (PR #4859)
    • changes
      • Deprecation of checksum types should be done on the EasyConfig level instead of during computation (issue #4849)
  • easyblocks (open PRs + issues)

    • bug fixes/reports
      • run pip check only once for PythonBundle (PR #3432)
      • Avoid failure in Python package installation and sanity check when $PIP_REQUIRE_VIRTUALENV is set (PR #3460)
      • Fix access to unassigned variable when installing Python < 3.9.1 with using sysroot (PR #3686)
      • fix using LLVM easyblock for bundle component + don't build GO tests by default for LLVM versions < 16 (PR #3690)
        • also other PR for LLVM easyblock by Jan (PR #3675)
          • mostly relevant for LLVM 19.x + 20.x (no merged easyconfigs yet)
      • Set Rust channel to stable to prevent usage of rust-lld as default linker (PR #3691)
    • enhancements
      • ...
    • updates
      • ...
    • changes
      • ...
    • code cleanup
      • Remove Python2 style super()-calls and fix ExtensionEasyBlock (PR #3681)
        • under active review by @lexming, in collaboration with @Flamefire
    • new easyblocks
      • ...
  • easyconfigs (open PRs + issues)

    • ~1.1k open easyconfig PRs
      • we're (over)due for a cleanup of backlog of old/stale easyconfigs PRs
      • closing PRs that are only using unsupported/deprecated toolchains, see https://docs.easybuild.io/policies/toolchains/#current-situation
      • we'll get back to organising focused effort with maintainers on this soon hopefully
      • letting more people help with labelling PRs could help
        • e.g. to zoom in to low hanging fruit
      • shorten the feedback time by letting bot react more quickly
    • bug fixes/reports
      • ...
    • enhancements
      • add patch to add zen5 support to OpenBLAS 0.3.27 (PR #22850)
    • (noteworthy) new software
      • ...
    • software updates
    • changes

2025a common toolchains

  • (2024b is skipped to catch up with original schedule for defining common toolchain versions)
    • EasyBuild v5.0 is ideal excuse for that break in continuity...
  • GCC 14.2 as a base (see easyconfigs PR #21114)
  • we should define candidate toolchains using latest version of all components
  • foss/2025a:
    • easyconfigs using GCCcore/14.2.0 toolchain available for Python 3.13.1, Perl + Perl-bundle-CPAN 5.40.0
    • easyconfigs PR #22125 merged for FlexiBLAS, OpenBLAS, BLIS
    • (easyconfigs PR #22349) merged for cryptography, required for Python-bundle-PyPI, after fixing issue with RPATH linking of Rust crates
    • gfbf/2025.02 + FFTW merged in easyconfigs PR #22126
  • intel/2025a:
    • updates for intel-compilers and impi merged in PR #22657
    • TODO: imkl
    • separate package for intel-shmem, doesn't really belong in intel toolchain
  • GCC 14.3 will be released soon

Q&A / others

⚠️ **GitHub.com Fallback** ⚠️