|  | 
|  | 1 | +# Changed default configuration or behaviour in EasyBuild v5.0 | 
|  | 2 | + | 
|  | 3 | +*(for a full overview of changes in EasyBuild v5.0, see [here](index.md))* | 
|  | 4 | + | 
|  | 5 | +The default value for several EasyBuild configuration settings has been changed in EasyBuild v5.0. | 
|  | 6 | + | 
|  | 7 | +**Changed default configuration in EasyBuild framework** | 
|  | 8 | + | 
|  | 9 | +- [RPATH linking is enabled by default (`--rpath`)][path] | 
|  | 10 | +- [Trace output is enabled by default (`--trace`)][trace)] | 
|  | 11 | +- [Including `extensions` statement in generated modules is enabled by default (`--module-extensions`)][module-extensions] | 
|  | 12 | +- [Using `depends_on` for dependencies in generated modules is enabled by default (`module-depends-on`)][module-depends-on] | 
|  | 13 | +- [Use Slurm as default job backend (`--job-backend`)][job-backend] | 
|  | 14 | +- [Default maximum build parallelism is set to 16 (`--max-parallel`)][max-parallel-16] | 
|  | 15 | + | 
|  | 16 | +**Changed behaviour in EasyBuild framework** | 
|  | 17 | + | 
|  | 18 | +- [Change semantics of `--dry-run` (`-D`), so it doesn't imply `--robot` (`-r`)][dry-run-robot] | 
|  | 19 | +- [Move verifying of checksums from `source` to `fetch` step, to include it with `--fetch`][verifying-checksums] | 
|  | 20 | +- [Create `lib` to `lib64` symlink (and vice versa) *before* running `postinstallcmds`][lib-lib64-symlink] | 
|  | 21 | +- [Use `sha256` as the default checksum type][sha256] | 
|  | 22 | +- [Use default value `$XDG_CONFIG_DIRS` from XDG basedir spec: `/etc/xdg` (instead of `/etc`)][XDG_CONFIG_DIRS_default] | 
|  | 23 | +- [Reverse order for parsing files in `$XDG_CONFIG_DIRS`][XDG_CONFIG_DIRS_order] | 
|  | 24 | +- [Don't allow unresolved templates in easyconfig parameters by default][unresolved-templates] | 
|  | 25 | +- [Refactor `make_extension_string` method in `EasyBlock` class][make_extension_string] | 
|  | 26 | +- [Change default for `change_into_dir` option in `extract_file` function to to `False`][extract_file] | 
|  | 27 | +- [Change `Toolchain.get_flag` so it doesn't automatically prepend a dash (`-`) to compiler][toolchain-get-flag-dash] | 
|  | 28 | +- [Enforce correct `.patch(.*)` extension for patch files][patch-extension] | 
|  | 29 | +- [Run sanity checks commands from an empty temporary directory rather than the software install directory][sanity-check-commands] | 
|  | 30 | +- [Only allow use of `rpath` toolchain option when `system` toolchain is used][system-toolchain-options] | 
|  | 31 | + | 
|  | 32 | +**Changed defaults in easyblocks** | 
|  | 33 | + | 
|  | 34 | +- [`download_dep_fail`, `use_pip`, `sanity_pip_check` are enabled by default for Python package installations][python-pkgs-defaults] | 
|  | 35 | +- [`CMakeMake` easyblock sets `LIBDIR` configuration option to `lib` by default][cmakemake-libdir] | 
|  | 36 | + | 
|  | 37 | +--- | 
|  | 38 | + | 
|  | 39 | +## RPATH linking is enabled by default (`--rpath`) {: #rpath } | 
|  | 40 | + | 
|  | 41 | +[RPATH linking][rpath_support] is enabled by default in EasyBuild v5.0. | 
|  | 42 | + | 
|  | 43 | +The benefits for enabling RPATH are explained in [Why RPATH?][rpath_support_why]. | 
|  | 44 | + | 
|  | 45 | +This enhancement **does not** add any filtering of environment variables. This means `$LD_LIBRARY_PATH` | 
|  | 46 | +will continue to be appended by the environment module files EasyBuild generates, | 
|  | 47 | +unless it is configured to filter these variables (via `--filter-env-vars`, | 
|  | 48 | +see also [Relation to `$LD_LIBRARY_PATH`][rpath_support_LD_LIBRARY_PATH]). | 
|  | 49 | + | 
|  | 50 | +The RPATH part of the EasyBuild sanity check has been relaxed (by default, | 
|  | 51 | +to allow for installing software that uses RPATH linking on top of existing software installations that do not use RPATH. | 
|  | 52 | +The RPATH sanity check can be made strict again via the `strict-rpath-sanity-check` EasyBuild configuration setting. | 
|  | 53 | + | 
|  | 54 | +To disable RPATH linking, either: | 
|  | 55 | + | 
|  | 56 | +- Use the `--disable-rpath` command line option; | 
|  | 57 | +- Set the `$EASYBUILD_DISABLE_RPATH` environment variable; | 
|  | 58 | +- Disable RPATH linking in an EasyBuild [configuration file](../configuration.md#configuration_file): | 
|  | 59 | + | 
|  | 60 | +    ``` ini | 
|  | 61 | +    [override] | 
|  | 62 | +    rpath=0 | 
|  | 63 | +    ``` | 
|  | 64 | + | 
|  | 65 | +--- | 
|  | 66 | + | 
|  | 67 | +## Trace output is enabled by default (`--trace`) {: #trace } | 
|  | 68 | + | 
|  | 69 | +The [`--trace` option](../tracing-progress.md) is enabled by default. | 
|  | 70 | + | 
|  | 71 | +This makes the output produced by the `eb` command more informative, by providing more information about what's going on in the background. | 
|  | 72 | +
 | 
|  | 73 | +To disable trace output, either: | 
|  | 74 | +
 | 
|  | 75 | +- Use the `--disable-trace` command line option; | 
|  | 76 | +- Set the `$EASYBUILD_DISABLE_TRACE` environment variable; | 
|  | 77 | +- Disable trace mode in a [configuration file](../configuration.md#configuration_file): | 
|  | 78 | +
 | 
|  | 79 | +    ``` ini | 
|  | 80 | +    [override] | 
|  | 81 | +    trace=0 | 
|  | 82 | +    ``` | 
|  | 83 | +
 | 
|  | 84 | +--- | 
|  | 85 | +
 | 
|  | 86 | +## Including `extensions` statement in generated modules is enabled by default (`module-extensions`) {: #module-extensions } | 
|  | 87 | +
 | 
|  | 88 | +*(more info soon)* | 
|  | 89 | +
 | 
|  | 90 | +--- | 
|  | 91 | +
 | 
|  | 92 | +## Using `depends_on` for dependencies in generated modules is enabled by default (`module-depends-on`) {: #module-depends-on } | 
|  | 93 | +
 | 
|  | 94 | +*(more info soon)* | 
|  | 95 | +
 | 
|  | 96 | +--- | 
|  | 97 | +
 | 
|  | 98 | +## Use Slurm as default job backend (`job-backend`) {: #job-backend } | 
|  | 99 | +
 | 
|  | 100 | +*(more info soon)* | 
|  | 101 | +
 | 
|  | 102 | +
 | 
|  | 103 | +--- | 
|  | 104 | +
 | 
|  | 105 | +## Default maximum build parallelism is set to 16 (`max-parallel`) {: #max-parallel-16 } | 
|  | 106 | +
 | 
|  | 107 | +*(more info soon, ideally including some "scaling" data for long-running builds like GCC, LLVM, OpenFOAM, ...)* | 
|  | 108 | +
 | 
|  | 109 | +--- | 
|  | 110 | +
 | 
|  | 111 | +## Change semantics of `--dry-run` (`-D`), so it doesn't imply `--robot` (`-r`) {: #dry-run-robot } | 
|  | 112 | + | 
|  | 113 | +*(more info soon)* | 
|  | 114 | + | 
|  | 115 | +--- | 
|  | 116 | + | 
|  | 117 | +## Move verifying of checksums from `source` to `fetch` step, to include it with `--fetch` {: #verifying-checksums } | 
|  | 118 | + | 
|  | 119 | +*(more info soon)* | 
|  | 120 | + | 
|  | 121 | +--- | 
|  | 122 | + | 
|  | 123 | +## Create `lib` to `lib64` symlink (and vice versa) *before* running `postinstallcmds` {: #lib-lib64-symlink } | 
|  | 124 | + | 
|  | 125 | +*(more info soon)* | 
|  | 126 | + | 
|  | 127 | +--- | 
|  | 128 | + | 
|  | 129 | +## Use `sha256` as the default checksum type {: #sha256 } | 
|  | 130 | + | 
|  | 131 | +The default checksum type, used in EasyConfigs, is now set to `sha256`. | 
|  | 132 | + | 
|  | 133 | +We have also [deprecated the older checksums types](deprecated-functionality.md#checksums). | 
|  | 134 | + | 
|  | 135 | +--- | 
|  | 136 | + | 
|  | 137 | +## Use default value `$XDG_CONFIG_DIRS` from XDG basedir spec: `/etc/xdg` (instead of `/etc`) {: #XDG_CONFIG_DIRS_default } | 
|  | 138 | + | 
|  | 139 | +*(more info soon)* | 
|  | 140 | + | 
|  | 141 | +--- | 
|  | 142 | + | 
|  | 143 | + | 
|  | 144 | +## Reverse order for parsing files in `$XDG_CONFIG_DIRS` {: #XDG_CONFIG_DIRS_order } | 
|  | 145 | + | 
|  | 146 | +*(more info soon)* | 
|  | 147 | + | 
|  | 148 | +--- | 
|  | 149 | + | 
|  | 150 | +## Don't allow unresolved templates in easyconfig parameters by default {: #unresolved-templates } | 
|  | 151 | + | 
|  | 152 | +*(more info soon, incl. support for `allow-unresolved-templates` configuration setting)* | 
|  | 153 | + | 
|  | 154 | +--- | 
|  | 155 | + | 
|  | 156 | +## Refactor `make_extension_string` method in `EasyBlock` class {: #make_extension_string } | 
|  | 157 | + | 
|  | 158 | +*(more info soon)* | 
|  | 159 | + | 
|  | 160 | +--- | 
|  | 161 | + | 
|  | 162 | +## Change default for `change_into_dir` option in `extract_file` function to to `False` {: #extract_file } | 
|  | 163 | + | 
|  | 164 | +*(more info soon)* | 
|  | 165 | + | 
|  | 166 | +--- | 
|  | 167 | + | 
|  | 168 | + | 
|  | 169 | +## Change `Toolchain.get_flag` so it doesn't automatically prepend a dash (`-`) to compiler {: #toolchain-get-flag-dash } | 
|  | 170 | + | 
|  | 171 | +*(more info soon)* | 
|  | 172 | + | 
|  | 173 | +--- | 
|  | 174 | + | 
|  | 175 | +## Enforce correct `.patch(.*)` extension for patch files {: #changes.md#patch-extension } | 
|  | 176 | + | 
|  | 177 | +*(more info soon)* | 
|  | 178 | + | 
|  | 179 | +--- | 
|  | 180 | + | 
|  | 181 | + | 
|  | 182 | +## Run sanity checks commands from an empty temporary directory rather than the software install directory { : #sanity-check-commands } | 
|  | 183 | + | 
|  | 184 | +*(more info soon)* | 
|  | 185 | + | 
|  | 186 | +--- | 
|  | 187 | + | 
|  | 188 | +## Only allow use of `rpath` toolchain option when `system` toolchain is used {: #system-toolchain-options } | 
|  | 189 | + | 
|  | 190 | +*(more info soon)* | 
|  | 191 | + | 
|  | 192 | +--- | 
|  | 193 | + | 
|  | 194 | +## `download_dep_fail`, `use_pip`, `sanity_pip_check` are enabled by default for Python package installations { : #python-pkgs-defaults } | 
|  | 195 | + | 
|  | 196 | +The `download_dep_fail`, `use_pip`, and `sanity_pip_check` easyconfig parameters are now enabled by default | 
|  | 197 | +in the `PythonPackage` and `PythonBundle` generic easyblocks (and the easyblocks that derive from them). | 
|  | 198 | + | 
|  | 199 | +This means that these should no longer be explicitly set to `True` in easyconfig files using these easyblocks. | 
|  | 200 | + | 
|  | 201 | +--- | 
|  | 202 | + | 
|  | 203 | +## `CMakeMake` easyblock sets `LIBDIR` configuration option to `lib` by default { : #cmakemake-libdir } | 
|  | 204 | + | 
|  | 205 | +The generic `CMakeMake` easyblock will use `-DCMAKE_INSTALL_LIBDIR=lib` by default as option to the `cmake` command. | 
|  | 206 | +Easyconfig files that specify this via `configopts` should be adjusted accordingly. | 
|  | 207 | + | 
|  | 208 | +A custom easyconfig parameter named `install_libdir` has been added to `CMakeMake` to specify a custom value should that | 
|  | 209 | +be required. | 
0 commit comments