EasyBuild v4.8.1 is primarily a bugfix and update release, but it also includes various enhancements.
The executive summary for this release:
- Support for various additional hooks that can be used to customize EasyBuild, including pre_run_shell_cmd_hook which allows tweaking shell commands right before they are run by EasyBuild;
- 2 new custom easyblocks, for sympy and tensorflow-compression;
- Easyconfigs for various recent software versions, including Clang 16.0.6, CP2K 2023.1, FFmpeg 6.0, GCC 13.2.0, OpenFOAM 11, Pillow 10.0.0, TensorFlow 2.13.0, ...;
- Support for installing 83 new software applications and libraries;
Highlights for this release are listed below.
More details are available in the [release notes](https://docs.easybuild.io/release-notes/#release_notes_eb481) which includes links to the respective pull requests for more detailed information.
Highlighted enhancements & updates
(enhancements or updates that (may) warrant updating existing installations are marked with `(***)`)
- support for additional hooks: `pre_build_and_install_loop_hook` + `post_build_and_install_loop_hook`, `cancel_hook`, `fail_hook`, `pre_postiter_hook` + `post_postiter_hook`, and `pre_run_shell_cmd_hook` + `post_run_shell_cmd_hook`; see https://docs.easybuild.io/hooks for more information;
- add `--silence-hook-trigger` configuration option to suppress printing of a debug message every time a hook is triggered;
- add support for using fine grained Github tokens;
- add support for submodule filtering and specifying extra Git configuration in `git_config`;
- new custom easyblocks for `sympy` and `tensorflow-compression`;
- add options to `MesonNinja` generic easyblock to customize `build_cmd`, `install_cmd`, `build_dir`;
- add support to `PerlModule` generic easyblock to customize prefix option used in installation command;
- updates and enhancements to custom easyblocks for Clang, CP2K, CUDA, FreeSurfer, LLVM, Mesa, MXNet, OpenCV, OpenFOAM, PETSc, PyTorch, scipy, Score-P, TensorFlow;
- `(***)` add extensions to recent versions of R (`tabletools`, `flextables`) and R-bundle-Bioconductor (`UCell`, `decoupleR`, `RnBeads`), use "[`eb --skip --rebuild`](https://docs.easybuild.io/partial-installations/#partial_installation_skip)" to install the missing extensions;
Prominent bug fixes & changes
(bug fixes or changes that (may) warrant reinstalling easyconfigs are marked with `(***)`)
- improve error reporting w.r.t. missing checksums;
- `(***)` only add extensions in module file if there are extensions;
- enhance `PythonPackage` easyblock to deal with `posix_local` installation scheme used by Python in recent Debian/Ubuntu versions;
- `(***)` improve depot management in `JuliaPackage` easyblock;
- `(***)` set `$JULIA_DEPOT_PATH` in Julia easyconfigs with default value;
- bug fixes for various custom easyblocks, incl. imkl-FFTW, Java, `(***)` MATLAB, Mesa, OpenMPI, STAR-CCM+, TensorFlow;
- `(***)` fix regression in GCC 12.1 + 12.2 with wrong warnings;
- fix installation of Python bindings for recent Arrow easyconfigs;
- `(***)` various additional patches for recent PyTorch versions to fix bugs and/or failing tests;
- `(***)` additional bug fixes in easyconfigs for Abseil, at-spi2-core, Automake, FreeSurfer, jupyter-server, JupyterHub, LIBSVM, MPFR, RapidJSON, ScaLAPACK, tRNAscan-SE;
- `(***)` update `Java/11` wrapper to `Java/11.0.20`;
- `(***)` use `GCC/12.2.0` toolchain for GSL 2.7, remove easyconfig for GSL 2.7 with `GCCcore/12.2.0`;
- `(***)` add patch for PMIx 4.x to use lchown so links are not followed;
- `(***)` add hpctestlib to the `$PYTHONPATH` in ReFrame 4.2.0 easyconfig;
- add alternative checksum for Extrae v4.0.4;
- `(***)` disable wx support in gnuplot 5.4.6;
- set `$MUJOCO_PY_FORCE_CPU` to avoid that mujoco-py checks for nvidia-smi and aborts installation because `/usr/lib/nvidia` is not in `$LD_LIBRARY_PATH`;
Supported software
Support for installing 83 new software packages has been added, including (but not limited to):
- Ax
- Boost.Python-NumPy
- CatBoost
- ChIPseeker
- cryptography
- GAPPadde
- GenerativeModels
- hatchling
- IsoQuant
- Jupyter-bundle
- JupyterNoteboo
- maturin
- Mikado
- NanoCaller
- Omnipose
- Optax
- pv
- Python-bundle-PyPI
- Sabre
- scib-metrics
- scikit-plot
- setuptools-rust
- tensorflow-compression
- torchvf
- TXR
- virtualenv
This brings the total number of supported software packages to 3,244 (excluding extensions)!
An up-to-date list of supported software is available [here](https://docs.easybuild.io/version-specific/supported-software).
Various software updates have been added, including (but not limited to):
- ABINIT 9.10.3
- Arcade-Learning-Envionment 0.8.1
- archspec 0.2.1
- Bazel 6.3.1
- BCFtools 1.18
- BEDTools 2.31.0
- Boost 1.82.0
- CDO 2.2.2
- Clang 16.0.6
- CP2K 2023.1
- CUDA 12.2.2
- ecBuild 3.8.0
- FFmpeg 6.0
- FreeSurfer 7.4.1
- GCC 13.2.0
- GHC 9.2.2
- gnuplot 5.4.8
- GTK4 4.11.3
- h5py 3.9.0
- Horovod 0.28.1
- Hypre 2.29.0
- ImageMagick 7.1.1-15
- magma 2.7.1
- medaka 1.8.1 + 1.9.1
- Mesa 23.1.4
- MXNet 1.9.1
- OpenAI-Gym 0.26.2
- OpenCV 4.8.0
- OpenFOAM 11
- Pillow 10.0.0
- PLUMED 2.9.0
- pocl 4.0
- QIIME2 2023.5.1
- Qt5 5.15.10
- QuantumESPRESSO 7.2
- SAMtools 1.18
- SciPy-bundle 2023.07
- Score-P 8.1
- sympy 1.12
- SUNDIALS 6.6.0
- TensorFlow 2.13.0
- Valgrind 3.21.0
- wxPython 4.2.1
- zarr 2.16.0
These changes result from various contributions, made by 33 different contributors:
* 25 merged pull requests for EasyBuild framework
* 40 merged pull requests for easyblocks
* 339 merged pull requests for easyconfigs
Thanks to everyone who contributed to this release in one way or another!
To upgrade to EasyBuild v4.8.1, there are [several options](https://docs.easybuild.io/installation/#updating).
Two particularly easy options include:
* `eb --install-latest-eb-release`
* `eb --from-pr 18761` use easyconfig from [PR 18761](https://github.com/easybuilders/easybuild-easyconfigs/pull/18761)