Skip to content

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

Changed behaviour in EasyBuild framework

Changed defaults in easyblocks


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)


(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.