(back to [[Conference calls]])
Notes on the **283rd** EasyBuild conference call, Wednesday 3 Dec 2025 (09:00 UTC / 10:00 CET)
#### Attendees
List of attendees (14):
* Jorge Delgado Guerrero (University of Luxembourg)
* Bob Dröge (Univ. of Groningen, The Netherlands)
* Davide Grassano (CECAM)
* Alexander Grund (ZIH, Dresden, Germany)
* Sven Hansen (RWTH, Germany)
* Kenneth Hoste (HPC-UGent)
* Georgios Kafanas (University of Luxembourg)
* Kurt Lust (UAntwerpen & LUMI User Support Team)
* Sébastien Moretti (SIB, Switzerland)
* Jurij Pečar (EMBL, Germany)
* Jan Reuter (JSC, Germany)
* Alexandre Strube (JSC, Germany)
* Alain van Hoof (TU Eindhoven, The Netherlands)
* Helena Vela Beltran (Do IT Now Spain)
#### Agenda
* overview of recent developments
* update of common toolchains
* Q&A
### Recent developments
* latest EasyBuild release: EasyBuild v5.1.2 (26 Sept 2025)
* next (stable) EasyBuild release: EasyBuid v5.2.0 *(ETA: ASAP)*
* incl. support for LLVM-based toolchain, NVHPC toolchain, etc.
* window of opportunity for merging PRs to be included in EasyBuild v5.2.0 is closing in next couple of days
* planning to start regression test & start preparing release notes end of this week...
#### News
* 11th EasyBuild User Meeting: 21-23 April 2026 @ Portugal, see https://easybuild.io/eum26
* `jsc-zen3` bot unavailable from Wed 3 Dec 7am until (potentially) Thu 7pm
* see also https://status.jsc.fz-juelich.de/services/40
#### Merge sprints
- future easyconfigs merge sprints planned:
- **Mon 15 Dec 2025**
- Mon 16 Feb 2026
- Mon 13 Apr 2026
- Mon 15 Jun 2026
- Mon 17 Aug 2026
- aiming for semi-fixed schedule every other month: 3rd Monday in even months
- at some point a sprint to revise & close outdated open issues
#### Merged PRs
*(changed made in PRs marked with `*` are included latest EasyBuild stable release)*
* **blog/docs** *(merged PRs)*
* ...
* **framework** *(merged PRs)*
* *bug fixes*
- Don't append empty component to `start_dir` in `EasyBlock.guess_start_dir` ([PR #5057](https://github.com/easybuilders/easybuild-framework/pull/5057))
* *enhancements*
- Make specifying `exts_defaultclass` optional ([PR #4800](https://github.com/easybuilders/easybuild-framework/pull/4800))
- retry fetching source file for extensions from PyPI with alternative filename (with `-` replaced with `_` in extension name) ([PR #4943](https://github.com/easybuilders/easybuild-framework/pull/4943))
- Add templates for source with just version numbers (like `VERSION_TAR_GZ` and `V_VERSION_TAR_GZ`) ([PR #5025](https://github.com/easybuilders/easybuild-framework/pull/5025))
- Add templates for patch versions ([PR #5028](https://github.com/easybuilders/easybuild-framework/pull/5028))
- Print total runtime of all builds ([PR #5032](https://github.com/easybuilders/easybuild-framework/pull/5032))
- Add runtime_only options to `EasyConfig.dependency_names` method ([PR #5044](https://github.com/easybuilders/easybuild-framework/pull/5044))
- Remove superflous module `list` call in `ModulesTool.load` ([PR #5046](https://github.com/easybuilders/easybuild-framework/pull/5046))
- Add backtrace to logged exception ([PR #5047](https://github.com/easybuilders/easybuild-framework/pull/5047))
- add support both `$VAR` and `${VAR}` variable formats in `modextravars` ([PR #5049](https://github.com/easybuilders/easybuild-framework/pull/5049))
- Show more readable error message when uploading gist or posting comment failed ([PR #5056](https://github.com/easybuilders/easybuild-framework/pull/5056))
* *changes*
- unset `$PROMPT_COMMAND` in `cmd.sh` shell ([PR #5034](https://github.com/easybuilders/easybuild-framework/pull/5034))
* *code cleanup*
- Enable flake8-comprehension code style check and fix issues ([PR #5043](https://github.com/easybuilders/easybuild-framework/pull/5043))
* *CI/test suite*
- Introduce `saved_env` context manager for restoring environment in tests ([PR #5015](https://github.com/easybuilders/easybuild-framework/pull/5015))
- Disable trace output by default in tests ([PR #5053](https://github.com/easybuilders/easybuild-framework/pull/5053))
* *other*
- add example hook for updating OpenSSL 1.x dependency to 3.x ([PR #5035](https://github.com/easybuilders/easybuild-framework/pull/5035))
* **easyblocks** *(merged PRs)*
* *bug fixes*
- fix search_file for path configuration files in `PythonBundle` and `PythonPackage` ([PR #3975](https://github.com/easybuilders/easybuild-easyblocks/pull/3975))
- return result of configure/build/install step in `CMakeNinja` easyblock ([PR #3999](https://github.com/easybuilders/easybuild-easyblocks/pull/3999))
* *enhancements*
- honor `(pre)configopts`, `(pre)buildopts` and `(pre)testopts` in custom easyblock for HPCG ([PR #3986](https://github.com/easybuilders/easybuild-easyblocks/pull/3986))
- allow to enable/disable standard library C++ modules in LLVM easyblock ([PR #3994](https://github.com/easybuilders/easybuild-easyblocks/pull/3994))
- add options to `CMakeMake.configure_step` to not fail on non-zero exit code of '`cmake`' command and to return full result of '`cmake`' shell command ([PR #4000](https://github.com/easybuilders/easybuild-easyblocks/pull/4000))
* *updates*
- Update Mathematica easyblock to support versions > 14.1 ([PR #3707](https://github.com/easybuilders/easybuild-easyblocks/pull/3707))
- Update LAMMPS easyblock: v2025 fix + extra tests ([PR #3894](https://github.com/easybuilders/easybuild-easyblocks/pull/3894))
- Update WRF easyblock for Intel compilers >= 2024 (icx, ...) ([PR #3992](https://github.com/easybuilders/easybuild-easyblocks/pull/3992))
* *changes*
- ...
* *new*
- add custom easyblock for gnupg-bundle ([PR #3972](https://github.com/easybuilders/easybuild-easyblocks/pull/3972))
- add custom easyblock for QEMU ([PR #3976](https://github.com/easybuilders/easybuild-easyblocks/pull/3976))
- add custom easyblock for pocl ([PR #3978](https://github.com/easybuilders/easybuild-easyblocks/pull/3978))
* *code cleanup*
- ...
* *CI*
- ...
* **easyconfigs** *(merged PRs)*
* ***~110** easyconfig PRs were merged since last conf call \o/*
* *bug fixes/reports*
- fix python-igraph easyconfigs to actually use igraph dependency rather than build one + update easyconfig for synthcity 0.2.11 accordingly (changed version for ipython-igraph dependency) ([PR #24288](https://github.com/easybuilders/easybuild-easyconfigs/pull/24288))
- use custom easyblock for gnupg-bundle that ensures that UNIX sockets can be created for tests ([PR #24359](https://github.com/easybuilders/easybuild-easyconfigs/pull/24359))
- use custom easyblock in recent pocl easyconfigs ([PR #24375](https://github.com/easybuilders/easybuild-easyconfigs/pull/24375))
- add patch to LLVM 20.1.x easyconfig to fix bindc commonblocks in fortran compilation ([PR #24495](https://github.com/easybuilders/easybuild-easyconfigs/pull/24495))
- add missing ETE dependency for PICRUSt2 v2.6.1 ([PR #24655](https://github.com/easybuilders/easybuild-easyconfigs/pull/24655))
- add Python as build dependency for recent QuantumESPRESSO easyconfigs, to ensure pipes Python module is available ([PR #24694](https://github.com/easybuilders/easybuild-easyconfigs/pull/24694))
- add patch to LLVM 20.1.8 to always link compiler-rt to flang after libgcc ([PR #24661](https://github.com/easybuilders/easybuild-easyconfigs/pull/24661))
* *enhancements*
- add cuda-binding, cuda-core, cuda-pathfinder extensions to CUDA-Python v12.8.0 + add easyconfigs for numba-cuda v0.20.0, filecheck-python v1.0.3 w/ foss/2025a + CUDA 12.8.0 ([PR #24665](https://github.com/easybuilders/easybuild-easyconfigs/pull/24665))
* *(noteworthy) new software*
- ...
* *noteworthy software updates*
* CUDA 13.0.2 ([PR #24635](https://github.com/easybuilders/easybuild-easyconfigs/pull/24635))
* [foss/2025a] R-bundle-CRAN v2025.10 ([PR #24389](https://github.com/easybuilders/easybuild-easyconfigs/pull/24389)) + R-bundle-Bioconductor v3.22 w/ R 4.5.1 ([PR #24626](https://github.com/easybuilders/easybuild-easyconfigs/pull/24626))
* *cleanup*
- ...
* *changes*
- avoid using bundled HTSlib in Stacks 2.68 + move to GCC toolchain ([PR #24701](https://github.com/easybuilders/easybuild-easyconfigs/pull/24701))
- Unbundle python-zlib-ng ([PR #24718](https://github.com/easybuilders/easybuild-easyconfigs/pull/24718))
- How far back should we update `zlib-ng` easyconfigs?
- 2-3 generations of easyconfigs back makes sense, if the required effort is reasonable
- we need to make sure that nothing depending on `zlib-ng` currently requires the Python bindings...
- going forward (next common toolchain?) we're considering replacing `zlib` with `zlib-ng`
#### Open (active) PRs
**PRs marked with `(***)` are considered blockers for releasing EasBuild v5.2.0**
* **blog/docs** *(open PRs + issues)*
* ...
* **framework** *(open PRs + issues)*
* *bugs*
- Building easyconfigs with many extensions is much slower with EasyBuild 5.x than with EasyBuild 4.x ([issue #5052](https://github.com/easybuilders/easybuild-framework/issues/5052))
* *enhancements*
- `(***)` new LLVM based toolchain ([PR #4914](https://github.com/easybuilders/easybuild-framework/pull/4914))
- `(***)` make NVHPC a full toolchain with nvidia-compilers, NVHPCX and NVBLAS ([PR #4927](https://github.com/easybuilders/easybuild-framework/pull/4927))
- Honor `sanity_check_commands` & `sanity_check_paths` from extensions ([PR #5012](https://github.com/easybuilders/easybuild-framework/pull/5012))
- Add `--keep-going option` to fail at the end not at first failing installation ([PR #5022](https://github.com/easybuilders/easybuild-framework/pull/5022))
- Add environment variable for profiling EasyBuild ([PR #5040](https://github.com/easybuilders/easybuild-framework/pull/5040))
- Add `--debug-module-cmds` option ([PR #5045](https://github.com/easybuilders/easybuild-framework/pull/5045))
- Load dependencies of SYSTEM toolchain by full name ([PR #5051](https://github.com/easybuilders/easybuild-framework/pull/5051))
- pick up on `config.cfg` EasyBuild configuration file in current working directory ([PR #5054](https://github.com/easybuilders/easybuild-framework/pull/5054))
- `(***)` Set `$___EASYBUILD___` environment variable to `'EasyBuild'` to indicate that you're in an EasyBuild session ([PR #5058](https://github.com/easybuilders/easybuild-framework/pull/5058))
* *code cleanup*
- ...
* *changes*
- `(***)` Deprecate support for running EasyBuild with Python < 3.9 ([PR #4966](https://github.com/easybuilders/easybuild-framework/pull/4966))
* *CI/test suite*
- `test_github_det_commit_status` failing ([PR #5062](https://github.com/easybuilders/easybuild-framework/issues/5062))
* **easyblocks** *(open PRs + issues)*
* bug fixes/reports
- Set required environment variables in Python sanity check ([PR #3913](https://github.com/easybuilders/easybuild-easyblocks/pull/3913))
- `buildenv` block uses setenv and does not recognise PATH-like variables ([issue #4004](https://github.com/easybuilders/easybuild-easyblocks/issues/4004))
* enhancements
- `(***)` Add test for PyTorch test-results (XML files) parsing ([PR #3803](https://github.com/easybuilders/easybuild-easyblocks/pull/3803))
- would be nice to also merge PR for PyTorch 2.7.1 + CUDA (see [easyconfigs PR #23923](https://github.com/easybuilders/easybuild-easyconfigs/pull/23923))
- is it worth the effort to still have a CPU-only PyTorch
- CUDA-enabled PyTorch also supports running CPU-only anyway
- yes, there are use cases for this
- PyTorch installation on a CPU-only cluster, where CUDA should not be installed (to avoid confusing users)
- PyTorch as dependency for CPU-only tools that don't do heavy computation
- description of PyTorch without CUDA shouldn't claim it provides GPU support
- enhance LLVM easyblock to allow control over `$LLVM_PARALLEL_LINK_JOBS` ([PR #3971](https://github.com/easybuilders/easybuild-easyblocks/pull/3971))
- to help deal excessive memory requirements when building LLVM, see also [issue #3970](https://github.com/easybuilders/easybuild-easyblocks/issues/3970)
- requires using Ninja, make sense to aim for this with LLVM 21+
- enhance GROMACS easyblock to provide more control over building `gmxapi` Python package ([PR #3982](https://github.com/easybuilders/easybuild-easyblocks/pull/3982))
- enhance GROMACS easyblock to improve control over PLUMED support (native vs. patching) ([PR #3984](https://github.com/easybuilders/easybuild-easyblocks/pull/3984))
- Implement merging `Cargo.toml` file with workspace file ([PR #3988](https://github.com/easybuilders/easybuild-easyblocks/pull/3988))
- ways to avoid implementing our own TOML parser
- use `tombllib` which is available in Python 3.11, vendor it in EaysBuild framework to use in older versions
- see https://github.com/python/cpython/tree/3.14/Lib/tomllib
- Improve Mathematica easyblock to support license server configuration and version-specific executable names ([PR #3991](https://github.com/easybuilders/easybuild-easyblocks/pull/3991))
- Create lockfile for Cargo package if missing ([PR #3995](https://github.com/easybuilders/easybuild-easyblocks/pull/3995))
- Allow FlexiBLAS to link to MKL with LLVM ([PR #3997](https://github.com/easybuilders/easybuild-easyblocks/pull/3997))
- enhance QuantumESPRESSO easyblock to bind to 1 socket by default in test step ([PR #3998](https://github.com/easybuilders/easybuild-easyblocks/pull/3998))
- doesn't fully fix the problem that it intends to fix, but it does help in some contexts, and doesn't seem to hurt in others, so can be merged
* *updates*
- Update CP2K easyblock for v2024 and v2025 ([PR #3892](https://github.com/easybuilders/easybuild-easyblocks/pull/3892))
- Update jaxlib easyblock for jax 0.6.2 with CUDA-12.6.0 ([PR #3951](https://github.com/easybuilders/easybuild-easyblocks/pull/3951))
- enhance GROMACS easyblock to add support for optarch X86-64-V? notation ([PR #3981](https://github.com/easybuilders/easybuild-easyblocks/pull/3981))
- Update GAMESS easyblock for 20240715-R2 ([PR #3990](https://github.com/easybuilders/easybuild-easyblocks/pull/3990))
- update binutils easyblock to handle libzstd in binutils 2.40+ ([PR #3966](https://github.com/easybuilders/easybuild-easyblocks/pull/3966))
* *changes*
- Make `CargoPythonPackage` the default class for extensions/components of `CargoPythonBundle` ([PR #3993](https://github.com/easybuilders/easybuild-easyblocks/pull/3993))
- Call Cargo configure step from `CargoPythonPackage` ([PR #3996](https://github.com/easybuilders/easybuild-easyblocks/pull/3996))
* *code cleanup*
- Enable flake8-comprehension code style check and fix issues ([PR #3989](https://github.com/easybuilders/easybuild-easyblocks/pull/3989))
* *new easyblocks*
- add custom easyblock for Kokkos ([PR #3893](https://github.com/easybuilders/easybuild-easyblocks/pull/3893))
- new easyblock for sentaurus ([PR #4001](https://github.com/easybuilders/easybuild-easyblocks/pull/4001))
* **easyconfigs** *(open PRs + issues)*
* *bug fixes/reports*
- ...
* *enhancements*
- ...
* *(noteworthy) new software*
* ...
* software updates
* PyTorch v2.3.0 w/ `foss/2023b` + CUDA 12.4.0 ([PR #23553](https://github.com/easybuilders/easybuild-easyconfigs/pull/23553))
* PyTorch v2.6.0 w/ `foss/2024a` + CUDA 12.6.0 ([PR #23433](https://github.com/easybuilders/easybuild-easyconfigs/pull/23433))
* PyTorch v2.7.1 w/ `foss/2024a` + CUDA 12.6.0 ([PR #23923](https://github.com/easybuilders/easybuild-easyconfigs/pull/23923))
* CP2K v2025.2 w/ `foss/2025a` ([PR #23696](https://github.com/easybuilders/easybuild-easyconfigs/pull/23696))
* R-bundle-Bioconductor v3.22 w/ `foss/2025b` ([PR #24469](https://github.com/easybuilders/easybuild-easyconfigs/pull/24469))
* *changes*
* ...
### LLVM toolchain effort
- framework & easyblock PRs have been battle-tested, are ready to merge
- specific issues, like individual test failures in math libraries on specific CPUs, will need to be followed up
- problem with Autoconf, only pops up when using `-march=native`
- fixed with [easyconfigs PR #24699](https://github.com/easybuilders/easybuild-easyconfigs/pull/24669)
- Jan is looking into contributing this fix upstream
### Common toolchains
- Jan: why do we have two common toolchain versions per year?
- could save EasyBuild communities quite a bit of headaches?
- time to reconsider this and only have `foss/2026`?
- no `foss/2024b` (because of EasyBuild v5.x), but no big complaints on this
- could also help in context of EESSI
- 2025b is currently missing from EESSI 2025.06
- LLVM has two major revisions per year, so 2 toolchain versions per year would make sense there
- EasyBuild survey may give some insight into how community would feel about this
- recent struggles with keeping up with two toolchain versions per year are also relevant here
- Alexander: only one per year may lead to more clashes w.r.t. required dependency versions
- Kurt: perhaps one full toolchain (stable GCC, N-1 version of LLVM) + one more developer-oriented toolchain (GCC X.1, latest LLVM)
#### `2026a`
- ETA early 2026
- will likely use GCC 15.x as base
- will be a bit painful because default C standard has been changed
- being considered:
- use `zlib-ng` instead of `zlib` across the board
- introduce detection for using `zlib` dependency in easyconfigs test suite
### Q&A / other
* (Davide) weird problem in [easyconfig PR #24174](https://github.com/easybuilders/easybuild-easyconfigs/pull/24174) w.r.t. OpenBabel install dir already exist
* should look into config option in EB to instruct it to remove install dir easier
* (Bob) ROCm-LLVM stuff
* see [easyconfig PR #23304](https://github.com/easybuilders/easybuild-easyconfigs/pull/23542)
* test on `jsc-zen3` now fails with weird linker error
* `ld: cannot find -lxml2: No such file or directory`
* doesn't make sense since `libxml2` dependency is there?!
* could be related to recent change in LLVM easyblock