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