Skip to content

EasyBuild v4.2.0

Compare
Choose a tag to compare
@boegel boegel released this 14 Apr 18:40
· 434 commits to develop since this release
e2c41c2

EasyBuild v4.2.0 is primarily a feature/update release, but also includes various bug fixes.

Highlights of the changes in this release include:

  • (experimental) support for --try-update-deps, to upgrade dependencies based on available easyconfigs;

  • a locking mechanism to prevent two simultaneous installations of the same easyconfig file to the same installation path (see https://easybuild.readthedocs.io/en/latest/Locks.html for more information);

  • significant speedup for -D/--dry-run by avoiding useless 'module show' calls;

  • support for creating an index & using it to speed up searching for easyconfigs (see https://easybuild.readthedocs.io/en/latest/Easyconfigs_index.html for more information);

  • additional GitHub integration features:

  • probing of external modules for missing metadata that is not provided via an external module metadata file (mostly relevant for integration with the Cray Programming Environment);

  • leveraging the archspec Python library (if it is installed) to show the "code name" of the processor in your system in the output of "eb --show-system-info" and in test reports uploaded to PRs via --upload-test-report;

  • support for using templates like %(cudaver)s for the CUDA version (if it's included as direct dependency);

  • fix for UnicodeDecodeError that was raised when reading a patch file that contained non-ASCII characters (if EasyBuild was being run with Python 3);

  • fixed filtering of already installed extensions under --skip (mostly relevant for Python packages installed as bundles of extensions);

  • also support %(installdir)s and %(builddir)s templates for extensions;

  • take into account toolchain hierarchy when dumping easyconfig files, to avoid hardcoded subtoolchains in '*dependencies' easyconfig parameters (relevant when using --try-* options);

  • take into account dependencies marked as external modules when composing template values like %(pyver)s;

  • deprecate rmtree2 function provided by easybuild.tools.filetools (the remove_dir function should be used instead);

  • 7 new software-specific easyblocks: BerkeleyGW, CMake, ELSI, LAMMPS, libdrm, Mesa, SEPP;

  • updates, enhancements & bug fixes for the CMakeMake, PythonPackage and PythonBundle generic easyblocks;

  • updates, enhancements & bug fixes in the software-specific easyblocks for Clang, Ferret, Hypre, impi, libxml2, MATLAB, numexpr, OpenBabel, OpenBLAS, OpenCV, OpenFOAM, ParMETIS, PETSc, Python, QuantumESPRESSO, Qt, ROOT, Siesta, tbb, TensorFlow, TensorRT, Trinity, VMD, XCrySDen;

  • added support for no less than 114 (!) new software packages, incl. ADIOS, ArviZ, Bonito, ELSI, FuSeq, GraphMap2, LAMMPS, MedPy, motionSegmentation, OpenAI-Gym, PyMC3, PyRe, PyTorch-Geometric, RAxML-NG, Shapely, STEAK, UQTk, Zip, ...;

  • updates for already supported software, incl. Arrow 0.16.0, BUSCO 4.0.5, Clang 10.0.0, ELPA 2019.11.001, Ferret 7.5.0, GCC(core) 9.3.0, GROMACS 2020, GTK+ 3.24.13, Hypre 2.18.2, IQ-TREE 1.6.12, Java 13(.0.2), LLVM 9.0.1 + 10.0.0, likwid 5.0.1, medaka 0.12.0, numba 0.47.0, Octave 5.1.0, OpenBLAS 0.3.8, OpenBabel 3.0.0, OpenCV 4.2.0, OpenFOAM-Extend 4.1-20191120, PETSc 3.12.4, PyTorch 1.4.0, Qhull 2019.1, QuantumESPRESSO 6.5, R-bundle-Bioconductor 3.10, Racon 1.4.10, ReFrame 2.21, SLEPc 3.12.2, SimpleElastix 1.1.0, SimpleITK 1.2.4, TensorFlow 1.15.2 + 2.0.1, Trinity 2.10.0, XGBoost 0.90, xarray 0.15.1, ...;

  • update Java/1.8 wrapper to Java/1.8.0_241;

  • enhanced Java/11 wrapper to support both x86_64 and POWER;

  • fixed source URL for ISL component in GCCcore easyconfigs;

  • checksum fixes in easyconfigs for R 3.6.0 and 3.6.2;

  • revert removal of AVX512 vmovd with 64-bit operands in binutils 2.32 easyconfigs;

  • fixed packaging issue that resulted in CVS easyconfigs to be missing from EasyBuild releases;

  • updated checksum/homepage in tbb easyconfigs after move to 'oneapi-src' repository;

  • various additional updates, enhancements & bug fixes;

This brings the total number of supported software packages to 1,912!
An up-to-date list of supported software is available at https://easybuild.readthedocs.io/en/latest/version-specific/Supported_software.html .

A detailed overview of all changes, which links to the respective pull requests, is available in the release notes at https://easybuild.readthedocs.io/en/latest/Release_notes.html#easybuild-v4-2-0-april-14th-2020 .

These changes result from various contributions, made by 26 different contributors:

  • 56 merged pull requests for EasyBuild framework
  • 63 merged pull requests for easyblocks
  • 381 merged pull requests for easyconfigs

Thanks to everyone who contributed to this release in one way or another!