Conference call notes 20250604 - easybuilders/easybuild GitHub Wiki
(back to Conference calls)
Notes on the 271st EasyBuild conference call, Wednesday 4 June 2025 (15:00 UTC / 17:00 CEST)
Attendees
List of attendees (15):
- Sebastian Achilles (JSC, Germany)
- Loris Ercole (CECA)
- Davide Grassano (CECAM)
- Jasper Grimm (University of York, UK)
- Leonardo Honfi Camilo (Wageningen University, The Netherlands)
- Georios Kafanas (ULHPC)
- Sébastien Moretti (SIB, Switzerland)
- Bart Oldeman (McGill, CQ, Digital Research Alliance Canada)
- Jure Pečar (EMBL, Germany)
- Jan Reuter (JSC, Germany)
- 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.1.0 (27 May 2025) :partying_face:
- next (stable) EasyBuild release: EasyBuild v5.1.1?, preliminary milestone for 27 June 2025
News
- easyconfigs merge sprint scheduled for Monday 16 June 2025
- main goal is to push down on number of open easyconfig PRs
- sync meeting to get organised at 10:00 CEST
- split in groups?
- closing old/stale PRs (cfr. toolchain support policy)
- helping out "whales" (people with lots of open PRs)
- recent PRs
- focus effort on easyconfigs PRs (which don't need changes in framework/easyblocks)
- trim down # configurations in CI workflows for easyconfigs repo
Merged PRs
-
docs (merged PRs)
- ...
-
framework (merged PRs)
- bug fixes
- prefer using
importlib.metadata
over the deprecatedpkg_resources
indet_pypkg_version
+ switch container tests to rockylinux 8.10 (PR #4904)- fixes issue #4903 CI triggering
pkg_resources
deprecation warning insetuptools
- fixes issue #4903 CI triggering
- fix
fake_module_environment
context manager: make sure that cleanup of fake module is always done, even if an error was raised (PR #4895) - Fix
--dep-graph
by usinggraphviz
Python package (PR #4891) (in 5.1.0)
- prefer using
- enhancements
- also pass value of
fail_on_error
andhidden
options ofrun_shell_cmd
call down to pre/postrun_shell_cmd
hook (PR #4911) - trigger
post_run_shell_cmd_hook
before raising error if shell command failed + pass down fullRunShellCmdResult
instance (PR #4908) - add blue, cyan, purple as known colors that can be used in colorize function (PR #4907)
- add support for
check_readelf_rpath
easyconfig parameter to optionally skip RPATH checks (PR #4768) (in 5.1.0) - replace full trace message for extension check command with simple pass/fail message (PR #4892) (in 5.1.0)
- add support for environment variables in
set_environment
of module generators (PR #4855) (in 5.1.0) - Avoid leaking keys by mistake with
--upload-test-report
(PR #4877) (in 5.1.0)
- also pass value of
- changes
- ...
- code cleanup
- move
EasyBlock.expand_module_search_path
intoModuleEnvironmentVariable.expand_paths
(PR #4859) (in 5.1.0)
- move
- CI
- ...
- bug fixes
-
easyblocks (merged PRs)
- bug fixes
- honour
--skip-test-step
inBundle
easyblock (PR #3752) - take into account that
$PYTHONPATH
and$PATH
may be unset in configure step of custom easyblock for scipy (PR #3744) - Make sure rpath wrappers shipped via buildenv are world executable (PR #3743)
- use
--enable-install-libiberty
to enablelibiberty
forbinutils
(PR #3736) - Fix missed f-string in pythonpackage (PR #3729)
- Ensure OpenCOSMORS is installed for ORCA 6 (PR #3726)
- fix Python shebangs for scripts in Python and Conda-like installations (PR #3717) (in 5.1.0)
- Avoid failure in Python package installation and sanity check when
$PIP_REQUIRE_VIRTUALENV
is set (PR #3460) (in 5.1.0) - add
-std=c++11
to$CXXFLAGS
when building binutils 2.42+ with system GCC 4.8.1 to 5.x (PR #3728) (in 5.1.0) - configure Rust to use
stable
channel (PR #3691) (in 5.1.0)- impact on easyconfigs that use Rust is unclear, some creates may use that nightly channel is used? => to be tested...
- Fix access to unassigned variable when installing Python < 3.9.1 with using sysroot (PR #3686) (in 5.1.0)
- Fix handling of maximum Python version in
pick_python_cmd
function inPythonPackage
easyblock + require that maximum major Python version is specified if maximum minor Python version is specified (PR #3478) (in 5.1.0) - actually ignore stderr of '
pip list
' indet_installed_python_packages
function provided by Python easyblock (PR #3731) (in 5.1.0) - only run
pip check
once for Python installation + movedet_installed_python_packages
,det_pip_version
,run_pip_check
to Python easyblock (PR #3730) (in 5.1.0) - Unset PMIX variables when configuring OpenMPI (PR #3511) (in 5.1.0)
- fix dry run for
openssl_wrapper
(PR #3719) (in 5.1.0) - replace deprecated
expand_module_search_path
withModuleEnvironmentVariable.expand_paths()
inBundle
andJava
easyblocks (PR #3727) (in 5.1.0) - run
pip check
only once for PythonBundle (PR #3432) (in 5.1.0) - don't build GO tests by default for LLVM versions < 16 (PR #3690) (in 5.1.0)
- Avoid leaking file handles in
PythonPackage
(PR #3704) (in 5.1.0) - Rebuild C++ API for Gurobi (PR #3714) (in 5.1.0)
- allow downloaded Python packages if implicitely requested (PR #3722) (in 5.1.0)
- honour
- enhancements
- enhance Rust easyblock to allow specifying channel to use (stable vs nightly) (PR #3749)
- enhance
Bundle
generic easyblock to also run test step for each bundle component (PR #3748) - add Kokkos mapping for zen4 and nvidia grace to LAMMPS easyblock (PR #3742)
- add support for iterative build of OpenBLAS with 64-bit integers (PR #2753)
- enhance
Cargo
easyblock to handle single-line members in workspaces (PR #3705) (in 5.1.0) - generate version from the source files for LAMMPS when using
software-commit
(PR #3485) (in 5.1.0) - add support for neoverse_n1 instances of Azure (cortex-a72) to LAMMPs easyblock (PR #3580) (in 5.1.0)
- also install
easybuild
package forEasyBuild >= 5
PR #3700 (in 5.1.0)- see also add easybuild package to EasyBuild/5.0.0 (easyconfigs PR #22774)
- produce clean trace message for '
pip check
' PR #3732 (in 5.1.0) - generate an egg-info file for the easybuild meta package PR #3725 (in 5.1.0)
- updates
- minor updates to ABAQUS easyblock to make hotfixes 2441 and 2424 working (PR #3512) (in 5.1.0)
- changes
- new easyblocks
- add custom easyblock for
Term::ReadLine::Gnu
Perl module (PR #3712) (in 5.1.0)
- add custom easyblock for
- code cleanup
- Remove superflous assignment of sanity check module data in custom easyblock for torchvision (PR #3701) (in 5.1.0)
- CI
- ...
- bug fixes
-
easyconfigs (merged PRs)
- ~75 easyconfig PRs were merged since last conf call
- bug fixes/reports
- ...
- enhancements
- ...
- (noteworthy) new software
- ...
- noteworthy software updates
foss/2025a
(PR #22879)
- cleanup
- ...
- changes
- ...
Open (active) PRs
-
docs (open PRs + issues) *
-
framework (open PRs + issues)
- bugs
- ...
- enhancements
- Add
required
argument toget_cuda_cc_template_value
(PR #4913) - add EB configuration option to ignore unversioned (0.0.0) python packages (PR #4912)
- enhance LooseVersion test to add cases with leading alphabetical characters (PR #4901)
- Update install-EasyBuild-develop.sh to allow installation without forking (PR #4899)
- check
module_extensions
value before generatingextensions
string (PR #4898) (fixes PR #4887) - add build option new-namespace-installdir (PR #4894), see issue #4110
- (DRAFT) censor values of filtered/sensitive environment variables rather than removing them from test report (PR #4889)
- Add
- changes
- ...
- bugs
-
easyblocks (open PRs + issues)
- bug fixes/reports
- Fix use of CUDA CCs in LLVM easyblock and cleanup (PR #3755)
- Improve reliability of PyTorch test reporting (PR #3723)
- required for PyTorch 2.6
- Fix failure in sanity-check-only/module-only rebuilds of OpenMPI (PR #3724)
- Set
$HOME
to temporary folder for TensorFlow build and tests (PR #3751) - disable trace output when unpacking crates in Cargo easyblock (PR #3750)
- (DRAFT) LLVM: Ensure sysroot dynamic linker is used (PR #3741)
- enhancements
- respect EB configuration option to ignore unversioned (0.0.0) python packages (PR #3753)
- Let
CMakeMake
set the Python paths for CMake (PR #3694) - LLVM: Use dlopen for AMDGPU/CUDA libomptarget / offload target libraries (PR #3747)
- take into account --new-namespace-installdir option for Tarball easyblock (PR #3737)
- updates
- changes
- ...
- code cleanup
- ...
- new easyblocks
- bug fixes/reports
-
easyconfigs (open PRs + issues)
- ~1k open easyconfig PRs
- bug fixes/reports
- ...
- enhancements
- ...
- (noteworthy) new software
- ...
- software updates
- PyTorch 2.6.0 w/
foss/2024a
(PR #22824)
- PyTorch 2.6.0 w/
- changes
2025a
common toolchains
- (
2024b
was skipped to catch up with original schedule for defining common toolchain versions)- EasyBuild v5.0 was ideal excuse for that break in continuity...
- GCC 14.2 as a base (see easyconfigs PR #21114)
foss/2025a
andintel/2025a
in EB 5.1.0, see https://docs.easybuild.io/common-toolchains/#common_toolchains_overviewfoss
using GCC 14.2.0, Open MPI 5.0.7, FlexiBLAS 3.4.5intel
using Intel Compilers 2025.1.1, Intel MPI 2021.15.0
- UCC-CUDA v1.3.0 w/ CUDA 12.8.0 for GCCcore 14.2.0 merged but not in 5.1.0 (easyconfigs PR #22956
- GCC 14.3.0 was released 23 May, in 5.1.0 but not as part of high level toolchain (see easyconfigs PR #22942. May be used as base for 2025b since GCC 15.1.0 has some issues.
Q&A / others
- Davide: Pointed out Framework PR #4884, possible fix for issue #4551
- Jorg: Pointed out Perl package now failing tests on Debian/Ubuntu, fixed by easyconfigs PR #23030