Changed default configuration or behaviour in EasyBuild v5.0¶
(for a full overview of changes in EasyBuild v5.0, see here)
The default value for several EasyBuild configuration settings has been changed in EasyBuild v5.0.
Changed default configuration in EasyBuild framework
- RPATH linking is enabled by default (
--rpath
) - Trace output is enabled by default (
--trace
) - Including
extensions
statement in generated modules is enabled by default (--module-extensions
) - Using
depends_on
for dependencies in generated modules is enabled by default (module-depends-on
) - Use Slurm as default job backend (
--job-backend
) - Default maximum build parallelism is set to 16 (
--max-parallel
)
Changed behaviour in EasyBuild framework
- Change semantics of
--dry-run
(-D
), so it doesn't imply--robot
(-r
) - Move verifying of checksums from
source
tofetch
step, to include it with--fetch
- Create
lib
tolib64
symlink (and vice versa) before runningpostinstallcmds
- Use
sha256
as the default checksum type - Use default value
$XDG_CONFIG_DIRS
from XDG basedir spec:/etc/xdg
(instead of/etc
) - Reverse order for parsing files in
$XDG_CONFIG_DIRS
- Don't allow unresolved templates in easyconfig parameters by default
- Refactor
make_extension_string
method inEasyBlock
class - Change default for
change_into_dir
option inextract_file
function to toFalse
- Change
Toolchain.get_flag
so it doesn't automatically prepend a dash (-
) to compiler - [Enforce correct
.patch(.*)
extension for patch files][patch-extension] - Run sanity checks commands from an empty temporary directory rather than the software install directory
- Only allow use of
rpath
toolchain option whensystem
toolchain is used
Changed defaults in easyblocks
download_dep_fail
,use_pip
,sanity_pip_check
are enabled by default for Python package installationsCMakeMake
easyblock setsLIBDIR
configuration option tolib
by default
RPATH linking is enabled by default (--rpath
)¶
RPATH linking is enabled by default in EasyBuild v5.0.
The benefits for enabling RPATH are explained in Why RPATH?.
This enhancement does not add any filtering of environment variables. This means $LD_LIBRARY_PATH
will continue to be appended by the environment module files EasyBuild generates,
unless it is configured to filter these variables (via --filter-env-vars
,
see also Relation to $LD_LIBRARY_PATH
).
The RPATH part of the EasyBuild sanity check has been relaxed (by default,
to allow for installing software that uses RPATH linking on top of existing software installations that do not use RPATH.
The RPATH sanity check can be made strict again via the strict-rpath-sanity-check
EasyBuild configuration setting.
To disable RPATH linking, either:
- Use the
--disable-rpath
command line option; - Set the
$EASYBUILD_DISABLE_RPATH
environment variable; -
Disable RPATH linking in an EasyBuild configuration file:
[override] rpath=0
Trace output is enabled by default (--trace
)¶
The --trace
option is enabled by default.
This makes the output produced by the eb
command more informative, by providing more information about what's going on in the background.
To disable trace output, either:
- Use the
--disable-trace
command line option; - Set the
$EASYBUILD_DISABLE_TRACE
environment variable; -
Disable trace mode in a configuration file:
[override] trace=0
Including extensions
statement in generated modules is enabled by default (module-extensions
)¶
(more info soon)
Using depends_on
for dependencies in generated modules is enabled by default (module-depends-on
)¶
(more info soon)
Use Slurm as default job backend (job-backend
)¶
(more info soon)
Default maximum build parallelism is set to 16 (max-parallel
)¶
(more info soon, ideally including some "scaling" data for long-running builds like GCC, LLVM, OpenFOAM, ...)
Change semantics of --dry-run
(-D
), so it doesn't imply --robot
(-r
)¶
(more info soon)
Move verifying of checksums from source
to fetch
step, to include it with --fetch
¶
(more info soon)
Create lib
to lib64
symlink (and vice versa) before running postinstallcmds
¶
(more info soon)
Use sha256
as the default checksum type¶
The default checksum type, used in EasyConfigs, is now set to sha256
.
We have also deprecated the older checksums types.
Use default value $XDG_CONFIG_DIRS
from XDG basedir spec: /etc/xdg
(instead of /etc
)¶
(more info soon)
Reverse order for parsing files in $XDG_CONFIG_DIRS
¶
(more info soon)
Don't allow unresolved templates in easyconfig parameters by default¶
(more info soon, incl. support for allow-unresolved-templates
configuration setting)
Refactor make_extension_string
method in EasyBlock
class¶
(more info soon)
Change default for change_into_dir
option in extract_file
function to to False
¶
(more info soon)
Change Toolchain.get_flag
so it doesn't automatically prepend a dash (-
) to compiler¶
(more info soon)
Enforce correct .patch(.*)
extension for patch files¶
(more info soon)
Run sanity checks commands from an empty temporary directory rather than the software install directory¶
(more info soon)
Only allow use of rpath
toolchain option when system
toolchain is used¶
(more info soon)
download_dep_fail
, use_pip
, sanity_pip_check
are enabled by default for Python package installations¶
The download_dep_fail
, use_pip
, and sanity_pip_check
easyconfig parameters are now enabled by default
in the PythonPackage
and PythonBundle
generic easyblocks (and the easyblocks that derive from them).
This means that these should no longer be explicitly set to True
in easyconfig files using these easyblocks.
CMakeMake
easyblock sets LIBDIR
configuration option to lib
by default¶
The generic CMakeMake
easyblock will use -DCMAKE_INSTALL_LIBDIR=lib
by default as option to the cmake
command.
Easyconfig files that specify this via configopts
should be adjusted accordingly.
A custom easyconfig parameter named install_libdir
has been added to CMakeMake
to specify a custom value should that
be required.