Dear EasyBuilders,

It's my pleasure to announce the release of EasyBuild v4.3.0.

And yes, of course, this is the best release so far, what did you expect...


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


One particular bug fix worth highlighting is for the PythonPackage generic easyblock: the result of the "pip check" command that can be run as a part of the sanity check was being ignored, which resulted in some stand-alone installations of Python packages being (semi-)broken due to missing required Python packages that we were unaware of.

This issue only affected stand-alone installations of Python packages, not bundles of Python packages or ones that are installed as extensions.

Some easyconfigs have been fixed to ensure "pip check" passes, including recent those for archspec, OpenPIV, scikit-learn, and TEtranscripts.


Additional changes in this release include:

* a minimal build environment is now set up when using the system toolchain:
- by default, only $CC and $CXX are set (to 'gcc' and 'g++', resp.) when using system toolchain ; - the minimal build environment can be customized via --minimal-build-env configuration option;

* the --sysroot EasyBuild configuration setting can be used to specify an alternative location of the system root (not /), and various easyblocks have been made aware of it (incl. CMakeMake, binutils, GCC, Perl, Python);

* support for easyconfig template values for CUDA compute capabilities has been added: %(cuda_compute_capabilities)s, %(cuda_sm_comma_sep)s, %(cuda_sm_space_sep)s ;

* single argument "module swap" statements are now used in Tcl module files (mostly relevant for Cray toolchains); - required when using Environment Modules v4.2.3+ as a modules tool on Cray systems;

* a symlink from the lib64 to the lib subdirectory is created in installation directories, to avoid that GCC prefers /lib64 system directories;

* the RPATH wrapper script has been made more robust by using 'python -E -s -S' to run the rpath_args.py helper script;

* flake8 code style checks now pass on all *.py files, and enable a flake8 linter check has been added to CI \o/;

* 2 new software-specific easyblocks, for pybind11 and PyTorch;

* the TensorFlow easyblock has been updated to better leverage dependencies provided through EasyBuild;

* fixes in various easyblocks to support Arm/aarch64, incl. for Mesa, OpenFOAM, Qt5;

* enhancements & bug fixes in CMakeMake, CMakeNinja, PythonPackage, and RPackage generic easyblocks;

* updates, enhancements & bug fixes in the software-specific easyblocks for CP2K, CUDA, Doxygen, ELPA, GROMACS, Mathematica, MATLAB, Mothur, MotionCor2, NAMD, netcdf4-python, Perl, PSI, Python, QScintilla, QuantumESPRESSO, SLEPc, tbb, TensorFlow, Tinker, WRF;

* added easyconfigs for 2 new toolchains: gomkl/2020a and iomkl/2020a;

* added support for 49 new software packages, incl. BioPP, edlib, HeFFTe, LiBis, openCARP, OpenMS, pySCENIC, SLiM, tensorflow-probability, Trycycler, etc.;

* updates for already supported software, incl. Bazel 3.4.1, Bonito 0.2.2, binutils 2.35, CP2K 7.1, Clang 10.0.1, ELPA 2020.05.001, GCC(core) 10.2.0, JUBE 2.4.0, Julia 1.5.1, Kent_tools 401, Libint 2.6.0, Meson 0.55.1, NAMD 2.14, OpenFOAM 8, OpenMPI 4.0.5, Perl 5.32.0, PyTorch 1.6.0, pocl 1.5, QuantumESPRESSO 6.6, RDKit 2020.03.3, Salmon 1.3.0, Spark 3.0.0, scipy 1.4.1, sympy 1.6.2, ...;

* add additional extensions for recent versions of Perl, R, and R-bundle-Bioconductor;

* update TensorFlow v2.0.0 and v2.1.0 easyconfigs to provide more dependencies via EasyBuild;

* add missing Python build dependency to easyconfigs for BEDTools, ELPA, and PETSc v3.11.1 + v3.12.x;

* add missing pkg-config build dep in Ghostscript, libglvnd, Octave, and R-bundle-Bioconductor easyconfigs;

* update PyTorch 1.4 easyconfigs to use custom easyblock and run on POWER;

* use pip to install protobuf-python in 2019b easyconfigs generation
  - note: this requires re-downloading source tarball!
    (this can be done via "eb --force-download");

* fix easyconfigs that failed to install with "eb --rpath", incl.
Glib, X11, Mesa & co (by updating to more recent Meson build dependency), Qt5 (by adding fontconfig and bzip2 as direct dependencies), GMP and MPFR (by fixing failing "make check");

* update Meson build dep to 0.55.1 for GLib, X11, Mesa & co to fix aggressive RPATH stripping;

* enhance Java/11 wrapper to also support for aarch64/Arm;

* fix installation of R v3.6.3 + v4.0.0 on aarch64/Arm;

* various additional updates, enhancements & bug fixes;


This brings the total number of supported software packages to 2,059!
An up-to-date list of supported software is available at [2].


A detailed overview of all changes, which links to the respective pull requests, is available in the release notes at [3].


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

* 31 merged pull requests for EasyBuild framework
* 71 merged pull requests for easyblocks
* 221 merged pull requests for easyconfigs

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


To upgrade to EasyBuild v4.3.0, there are several options [4].
Two particularly easy options include:

     * eb --install-latest-eb-release

     * eb --from-pr 11262          # use easyconfig from PR #11262 [5]


Enjoy!


regards,

Kenneth & Miguel


[1] https://pypi.org/project/easybuild/4.3.0
[2] https://easybuild.readthedocs.io/en/latest/version-specific/Supported_software.html [3] https://easybuild.readthedocs.io/en/latest/Release_notes.html#easybuild-v4-3-0-september-13th-2020 [4] https://easybuild.readthedocs.io/en/latest/Installation.html#updating-an-existing-easybuild-installation
[5] https://github.com/easybuilders/easybuild-easyconfigs/pull/11262/files

Reply via email to