Dear EasyBuilders,
Time to roll up your sleeves: EasyBuild v4.2.1 [1] is now available for
your software installation pleasure(s)!
I'm sure all of you are aware of the various attempts at distracting
attention from the best EasyBuild release to date:
* PyPI (the Python Package Index) broke downloading of (some) Python
packages with EasyBuild, supposedly in order to discourage you from
using it (their motivations are unclear); they realized that resistance
was futile however, and have recently taken measures to fix the breakage
(or maybe it actually was a bug in EasyBuild for which we included a
proper fix in this release, who knows...);
* malicious entities have attacked several European HPC centers around
the world, causing confusion & frustration (and mining some crypto coins
along the way); although this EasyBuild release can't be of much help
there, hopefully this release can soothe the pain a bit...
Although these issues have led to some delay in getting this EasyBuild
release out, it hasn't stopped us!
EasyBuild v4.2.1 is primarily a bugfix release, but also includes
various small enhancements and updates.
Highlights of the changes in this release include:
* make downloading of Python package source files more robust by parsing
the page served by PyPI as HTML (rather than XML);
* support for copying tweaked easyconfigs when using --try-* with --copy-ec;
* more robust checking for already installed modules (taking into
account module aliases, wrappers, etc.);
* integration with the archspec [2] library so the CPU "code name" is
mentioned in test reports submitted to easyconfig PRs if archspec is
installed;
- side note: archspec is a collaboration between Kenneth Hoste (of
EasyBuild fame) and Todd & Massimiliano (who sometimes do some work on
this small side-project named Spack);
* fix for broken --list-software option when a hierarchical module
naming scheme is used;
* several fixes to the |--try-update-deps |experimental option;
* fix code style issues in easybuild.tools package, in an effort to make
the full code base pass a flake8 linting check;
* add |change_into_dir| named argument to |the extract_file function,
and |deprecate leaving it unspecified (should be set to False or True);
* one new generic easyblock (GoPackage) for ... installing Go packages;
* use an updated config.guess script for GCC and R packages (fixes
problems on Linux/POWER systems);
* let |CMakeMake| generic easyblock remove the '|easybuild_obj'| build
directory if it already exists;
* add support for |preinstallopts| and install in subdirectory to
|Tarball| generic easyblock;
* rewrite |GROMACS| easyblock to install all four variations
(single/double precision, with/without MPI) in the same directory;
* fix failing sanity check under |--module-only| in |GCC| easyblock;
* more updates, enhancements & bug fixes in the software-specific
easyblocks for binutils, Blender, CPLEX, FLUENT,|FreeSurfer, |impi,
LAMMPS, Mathematica, NWChem, MotionCor2, PDT, PETSc, QuantumESPRESSO,
ROOT, Score-P, TAU, TensorFlow, WPS;
* toolchain definitions for the new common toolchains foss/2020a and
intel/2020a;
foss/2020a:
GCC(core) 9.3.0 + binutils 2.34
OpenMPI 4.0.3 (+ UCX 1.8.0)
OpenBLAS 0.3.9 (incl. LAPACK)+ ScaLAPACK 2.1.0
FFTW 3.3.8
intel/2020a:
GCCcore 9.3.0 + binutils 2.34 as base
Intel compilers 2020 update 1 (2020.1.217, a.k.a. 19.1.1.217)
Intel MPI 2019 update 7 (2019.7.217)
Intel MKL 2020 update 1 (2020.1.217)
In addition, thanks to a coordinated merge sprint with several
contributors, a large set of easyconfigs using these toolchains are
already included with this EasyBuild release, incl. Perl (5.30.2),
Python (2.7.18 & 3.8.2), SciPy-bundle, R (3.6.3 & 4.0.0), Boost,
GROMACS, IPython, LAMMPS, Mesa, netCDF*, PETSc, PLUMED, X11, etc.
Thanks a lot to everyone who joined this effort!
* added support for 66 new software packages, incl. antiSMASH, Arlequin,
artic-ncov2019, CaSpER, FastViromeExplorer, FusionCatcher, harmony,
HyPo, MESS, pIRS, ProtHint, rickflow, RNA-Bloom, rstudio, SDSL, Taiyaki,
...;
* updates for already supported software, incl. Bazel 2.0.0, Bonito
0.1.4, CPLEX 12.10, FFmpeg 4.2.2, GCC(core) 10.1.0, GlobalArrays 5.7.2,
Longshot 0.4.1, matplotlib 3.2.1, NWChem 7.0.0, netCDF 4.7.4, PAPI
6.0.0, PROJ 7.0.0, Qt5 5.14.1, R-bundle-Bioconductor 3.11, Rust 1.42.0,
Salmon 1.2.0, TensorFlow 2.2.0, ...;
* add additional extensions for recent versions of Perl, R, and
R-bundle-Bioconductor;
* fix incorrect checksums for Amber patches;
* add Perl as a build dependency for recent Autoconf/Automake
easyconfigs (eliminating the need for specific perl-* OS packages);
* fixes for LAMMPS easyconfigs:
* disable USER-INTEL package in LAMMPS easyconfigs using intel/2019b,
since it results in an installation that produces incorrect results, and
add test script to catch this issue going forward;
* remove FFTW dependencies from LAMMPS easyconfigs, no longer needed
(MKL can be used too now);
* fix broken Mako easyconfigs;
* fix recent binutils easyconfigs using system toolchain for Fedora 32 /
GCC 10;
* archive old Singularity easyconfig files, since Singularity is not
well suited to install via EasyBuild because it requires admin
privileges to enable setuid;
* various additional updates, enhancements & bug fixes;
This brings the total number of supported software packages to 1,978!
An up-to-date list of supported software is available at [3].
A detailed overview of all changes, which links to the respective pull
requests,
is available in the release notes at [4].
These changes result from various contributions, made by 24 different
contributors:
* 35 merged pull requests for EasyBuild framework
* 30 merged pull requests for easyblocks
* 214 merged pull requests for easyconfigs
Thanks to everyone who contributed to this release in one way or another!
To upgrade to EasyBuild v4.2.1, there are several options [5].
Two particularly easy options include:
* eb --install-latest-eb-release
* eb --from-pr 10653 # use easyconfig from PR #10653 [6]
Enjoy!
regards,
Kenneth & Miguel
[1] https://pypi.org/project/easybuild/4.2.1
[2] https://github.com/archspec/archspec
[3]
https://easybuild.readthedocs.io/en/latest/version-specific/Supported_software.html
[4]
https://easybuild.readthedocs.io/en/latest/Release_notes.html#easybuild-v4-2-1-may-20th-2020
[5]
https://easybuild.readthedocs.io/en/latest/Installation.html#updating-an-existing-easybuild-installation
[6] https://github.com/easybuilders/easybuild-easyconfigs/pull/10653/files