Beta releases and release candidates for EasyBuild v5.0¶
Due to the large amount of changes in the upcoming EasyBuild v5.0 release, we will tag a couple of pre-releases before releasing EasyBuild v5.0.0.
Please consider testing these and providing feedback!
Beta release 5.0.0beta2 (24 Feb 2025)¶
Warning
This is a pre-release that includes the majority of changes that will be included in EasyBuild v5.0.0.
It can be used for testing and providing feedback (reporting bugs or unexpected behaviour, etc.).
Additional changes can still be made before the release of EasyBuild v5.0.0, see below.
Highlighted changes¶
EasyBuild v5.0.0 will include some significant changes compared to EasyBuild v4.x.
Some of those changes are internal improvements and will be invisible to most users, but many others may need special attention as they incorporate new features, changes of behavior or deprecations that can impact your workflow.
This includes (but is not limited to):
- Python >= 3.6 is required to run EasyBuild (Python >= 3.9 is recommended);
- using Lmod >= v8.0 or Environment Modules >= v4.3.0 is required as modules tool (check with
module --version); - a new function named
run_shell_cmdis used to run shell commands likecmake,make,pip, etc. (more info here); - reproducible creation of source tarballs from Git repositories via
git_configinsourceseasyconfig parameter (when using Python >= 3.9); - additional configuration options (
module-search-path-headersandsearch-path-cpp-headers) to control which paths are used to specify the location of header files; - the
module_load_environmentvariable in easyblocks to specify which environment variables should be updated by the generated environment module file; - the default setting of some configuration options has changed:
- RPATH linking is used by default (can be disabled with
--disable-rpath); - trace output is enabled by default (can be disabled with
--disable-trace); - Lua module files generated by EasyBuild will by default:
- use
depends_onrather thanload(can be disabled with--disable-module-depends-on); - include an
extensionsstatement to expose the list of included extensions (can be disabled with--disable-module-extensions);
- use
- the
use_pipandsanity_pip_checkcustom easyconfig parameters used by thePythonPackageandPythonBundleeasyblocks are enabled by default;
- RPATH linking is used by default (can be disabled with
- some functionality has been deprecated, including:
run_cmdandrun_cmd_qafunctions (run_shell_cmdshould be used instead);make_module_req_guessmethod in easyblocks (module_load_environmentshould be used instead);paralleleasyconfig parameter (maxparalleleasyconfig parameter orparallelproperty in easyblocks should be used instead);
- easyconfigs using an old unsupported toolchain have been moved to the easyconfigs archive;
Installation¶
To install the 2nd beta release of EasyBuild v5.0.0 (5.0.0beta2), you can either:
-
use the provided easyconfig file, for example using:
eb --from-pr 22385 -
install into a Python virtual environment:
tag='5.0.0beta2' venv_name="venv-eb-${tag}" python3 -m venv ${venv_name} unset PYTHONPATH source ${venv_name}/bin/activate pip install https://github.com/easybuilders/easybuild-framework/archive/easybuild-framework-v${tag}.tar.gz pip install https://github.com/easybuilders/easybuild-easyblocks/archive/easybuild-easyblocks-v${tag}.tar.gz pip install https://github.com/easybuilders/easybuild-easyconfigs/archive/easybuild-easyconfigs-v${tag}.tar.gz # optional dependencies for EasyBuild pip install archspec rich
Planned additional changes¶
A couple of additional changes that will be included in EasyBuild v5.0.0 are still a work-in-progress, including (but not limited to):
- avoid hardcoding of
'CPATH'inmodextrapathsin easyconfig files, take into accountmodule-search-path-headersconfiguration setting to determine whether$CPATHor$_INCLUDE_PATH/$CPLUS_INCLUDE_PATH/$INCLUDEshould be updated by the generated module file; - enhance LLVM easyblock for compilation of clang/flang + other llvm-projects (see easyblocks PR #3373);
- add support for copying build log and build directory to a permanent location after installation failure (see framework PR #4601);
For a complete overview of planned changes, see the GitHub dashboard for EasyBuild v5.0.
Providing feedback & reporting problems¶
Please test this release, provide feedback, and report problems, either via:
- the
#eb5channel in the EasyBuild Slack; - the EasyBuild maling list;
- one of the upcoming EasyBuild conf calls;
- the dedicated issue in the
easybuildrepository;
You should include:
- the output produced by
eb --version,eb --show-config, andeb --show-system-info; - an overview of what you tried;
- whether it worked or not;
- which problems you ran into (if any);
Also positive feedback is welcome!
Beta release 5.0.0beta1 (obsolete)¶
For more information on the now obsolete 5.0.0beta1 release,
see the dedicated page for it.
FAQ¶
- Do I need to reinstall all software that was installed with EasyBuild v4.x when I want to start using EasyBuild v5.x? No, you do not. You can install additional software using EasyBuild v5.x on top of installations performed with EasyBuild v4.x.