EasyBuild v4.4.1 is primarily a bugfix and update release, but also includes several minor enhancements.
Highlights for this release are listed below. More details are available in the [release notes](https://docs.easybuild.io/en/latest/Release_notes.html#easybuild-v4-4-1-july-6th-2021) which includes links to the respective pull requests for more detailed information.
Highlighted enhancements
(enhancements that (may) warrant updating existing installations are marked with `(***)`)
- add per-step timing information in standard output of `eb` command;
- add new hook that triggers right before writing generated module file (`module_write_hook`);
- add `ignore-test-failure` configuration option to ignore failing test step;
- enhance `ConfigureMake` generic easyblock to add support for building multiple build targets;
- 5 new custom easyblocks, for AOMP, FreeFEM, NCCL (built from source), torchvision, and UCX plugins;
- update custom easyblock for Boost to always build single and multi threaded versions;
- `(***)` enhance `sitecustomize.py` in Python easyblock to support overriding core Python packages, and allowing overriding in virtualenv;
- `(***)` updates & enhancements for various custom easyblocks, incl. Amber, Clang, FFTW, Hypre, intel-compiler, Java, OpenSSL wrapper, Perl, Python, XALT, Xmipp;
- `(***)` additional extensions for recent R easyconfigs;
Prominent bug fixes & changes
(bug fixes or changes that (may) warrant reinstalling easyconfigs are marked with `(***)`)
- add comment with test report in right location when combining `--from-pr` and `--include-easyblocks-from-pr`;
- fix crash when copying modules that were imported in easyconfig file (like `import os`);
- `(***)` fix location for modules installed with intel-compilers toolchain in `HierarchicalMNS`;
- don’t make changes to software installation directory when using `--sanity-check-only`;
- honour specified easyblock for extensions;
- change `Bundle` easyblock to also collect altroot and altversion in the module step so they are set when running `--module-only`;
- `(***)` bug fixes for various custom easyblocks, incl. GCC, intel-compilers, NVHPC, TensorFlow, VEP;
- `(***)` set minimal OpenSSL version to 1.1.1 for OpenSSL v1.1 wrapper;
- `(***)` add patch for GCC 10.2.0 to fix internal compiler error on aarch64;
- `(***)` add missing rgdal dependency to R-INLA;
- `(***)` add patch to fix uniq operation in TensorFlow 2.4.1;
- `(***)` add patch for recent GCCcore versions to fix compatibility with CUDA 11;
- `(***)` avoid using PMIx from system instead of PMIx dependency specified via `--with-pmix` for OpenMPI 4.x;
- `(***)` add patch for GCCcore 10.3.0 to prevent issues when compiling with nvcc;
Other changes
- deprecate EasyBuild bootstrap script;
- rework the dependency handling of OpenMPI to use explicit configure options to disable features if required dependency is not provided;
- side effect of this is that you need to add `--with-ucx` yourself if you want to build OpenMPI on top of a system provided UCX!
- `(***)` switch to NCCL 2.8.3 built from source for CuPy, Horovod, libgpuarray, PyTorch and TensorFlow using fosscuda/2020b;
- cleanup of easyconfigs for (bundles) of Python packages: remove default `PYPI_SOURCE` source URLs + use `PythonBundle` rather than `Bundle` easyblock;
Supported software
Support for installing 39 new software packages has been added, including (but not limited to):
- AOMP
- dSFMT
- FreeFEM
- futhark
- GenomeWorks
- hipify-clang
- microctools
- Nektar++
- OpenMM-PLUMED
- phototonic
- PyFoam
- RECON
- UCX-CUDA
- Vala
This brings the total number of supported software packages to 2,388!
An up-to-date list of supported software is available [here](https://docs.easybuild.io/en/latest/version-specific/Supported_software.html).
Various software updates have been added, including (but not limited to):
- Amber 20.11
- Bonito 0.4.0
- DOLFIN 2019.1.0.post0
- ELPA 2021.05.001
- FDS 6.7.6
- GCC 8.4.0 + 9.4.0
- GDAL 3.3.0
- Go 1.16.5
- GSL 2.7
- h5py 3.2.1
- Horovod 0.22.0
- Hypre 2.21.0
- IPython 7.25.0
- LDC 1.26.0
- libxc 5.1.5
- medaka 1.4.3
- MUMPS 5.4.0
- NCCL 2.9.9
- netCDF 4.8.0
- Nim 1.4.8
- nodejs 14.17.0
- numba 0.53.1
- NVHPC 21.5
- Octave 6.2.0
- petsc4py 3.12.0
- PySCF 1.7.6
- PyTorch 1.9.0
- R 4.0.5 + R 4.1.0
- ReFrame 3.6.2
- Ruby 3.0.1
- Score-P 7.0
- Subread 2.0.2
- SuiteSparse 5.10.1
- sympy 1.8
- TensorFlow 2.5.0
- VMD 1.9.4a51
- Z3 4.8.11
These changes result from various contributions, made by 23 different contributors:
* 27 merged pull requests for EasyBuild framework
* 41 merged pull requests for easyblocks
* 268 merged pull requests for easyconfigs
Thanks to everyone who contributed to this release in one way or another!
To upgrade to EasyBuild v4.4.1, there are [several options](https://docs.easybuild.io/en/latest/Installation.html#updating-an-existing-easybuild-installation).
Two particularly easy options include:
* `eb --install-latest-eb-release`
* `eb --from-pr 13344` use easyconfig from [PR 13344](https://github.com/easybuilders/easybuild-easyconfigs/pull/13344)