Skip to content

Commit 0e52ceb

Browse files
authored
Merge pull request easybuilders#352 from branfosj/eb5
EasyBuild 5
2 parents 050360e + 959389a commit 0e52ceb

File tree

7 files changed

+76
-63
lines changed

7 files changed

+76
-63
lines changed

docs/easybuild-v5/deprecated-functionality.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,18 @@ The following checksum types are deprecated and should no longer be used: `md5`,
110110

111111
## `EnvironmentModulesC` or `EnvironmentModulesTcl` modules tools {: #modules-tools }
112112

113-
*(more info soon)*
113+
The use of the older [Environment Modules](https://modules.readthedocs.io/) versions is deprecated.
114+
This corresponds to setting the module tool in EasyBuild to either `EnvironmentModulesC` or
115+
`EnvironmentModulesTcl`.
116+
117+
Those using Environment Modules should use at least version 4.3 or newer.
114118

115119
---
116120

117121
## GC3Pie as job backend {: #gc3pie-job-backend }
118122

119-
*(more info soon)*
123+
The use of the GC3Pie job backend is deprecated. Those [generating jobs][submitting_jobs] from
124+
EasyBuild should use one of the other available backends instead, such as Slurm or PBS Python.
120125

121126
---
122127

@@ -128,7 +133,8 @@ The following checksum types are deprecated and should no longer be used: `md5`,
128133

129134
## `COMPILER*_FLAGS` attributes in `Compiler` class {: #compiler-constants }
130135

131-
*(replaced by `Compiler.COMPILER*_OPTIONS`, more info soon)*
136+
In the `Compiler` class, the `COMPILER*_FLAGS attributes` were renamed to change `FLAGS` to `OPTIONS`.
137+
This change was made to make it clearer as to the function of these attributes.
132138

133139
---
134140

docs/easybuild-v5/enhancements.md

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,17 @@ If you would like to see other types of easyconfigs added as templates, please
6363

6464
## Mark support for installing extensions in parallel as stable (no longer experimental) {: #parallel-extensions-install-stable }
6565

66-
*(more info soon)*
66+
The support for [installing extensions in parallel][installing_extensions_in_parallel]
67+
no longer requires the use of the `--experimental` option. Currently this supports
68+
installing R extensions in parallel.
6769

6870
---
6971

7072

7173
## Mark easystack support as stable (no longer experimental) {: #easystack-stable }
7274

73-
*(more info soon)*
75+
[Easystack files][easystack] are now considered stable and no longer require the use
76+
of the `--experimental` option.
7477

7578
---
7679

@@ -168,7 +171,12 @@ status codes are reported in the corresponding logs.
168171

169172
## Copy build directory and/or log file(s) if installation failed to path specified via `--failed-install-build-dirs-path` or `--failed-install-logs-path` {: #copy-build-log-failed-installs }
170173

171-
*(more info soon)*
174+
Often local storage (such as `/tmp`) or `/dev/shm` is used for the build path. When these are used with `--job`
175+
then the build files and log files will be removed when the job finishes. If a build fails this can make
176+
determining the reason for failure difficult. The options `--failed-install-build-dirs-path` and
177+
`--failed-install-logs-path` have been added to copy the build directory of log files to a specified path in
178+
the event of a failed build.
179+
172180

173181
---
174182

@@ -186,9 +194,13 @@ See [separate dedicated section](../implementing-easyblocks.md#module_load_envir
186194
---
187195

188196

189-
## `keep-debug-symbols` configuration option to set default value of '`debug`' toolchain option {: #keep-debug-symbols }
197+
## `--keep-debug-symbols` configuration option to set default value of '`debug`' toolchain option {: #keep-debug-symbols }
190198

191-
*(more info soon)*
199+
A configuration option `--keep-debug-symbols` was added to set the default value for the `debug` toolchain option.
200+
Enabling this will add `-g` to flags such as `$CXXFLAGS`.
201+
202+
!!! Warning
203+
For some software enabling debug symbols will result in significant increase in disk space usage.
192204

193205
---
194206

@@ -316,7 +328,7 @@ This option is also available as easyconfig parameter
316328

317329
## Support not using `$PYTHONPATH` to specify the location of installed Python packages (via `--prefer-python-search-path`) { : #PYTHONPATH-vs-EBPYTHONPREFIXES }
318330

319-
*(more info soon)*
331+
See [dedicated page](../python-search-path.md).
320332

321333
---
322334

docs/easybuild-v5/index.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,6 @@ A high-level overview of changes in EasyBuild version 5.0.0 is listed below.
44

55
Click on a particular item for more information.
66

7-
!!! warning
8-
9-
(Tue 18 March 2025)
10-
The sections linked to from this overview below are known to be incomplete.
11-
Extra information will be gradually added over the next couple of days.
12-
137
---
148

159
## Breaking changes {: #breaking-changes }
@@ -76,7 +70,7 @@ Various significant enhancements are included in EasyBuild v5.0, including:
7670
- [Copy build directory and/or log file(s) if installation failed to path specified via `--failed-install-build-dirs-path` or `--failed-install-logs-path`](enhancements.md#copy-build-log-failed-installs)
7771
- [Specify changes that should be made by generated module files via `module_load_environment`](../implementing-easyblocks.md#module_load_environment)
7872
- [Add support for alternate easyconfig parameters/templates/constants](enhancements.md#alternative-easyconfig-parameters-templates-constants)
79-
- [`keep-debug-symbols` configuration option to set default value of '`debug`' toolchain option](enhancements.md#keep-debug-symbols)
73+
- [`--keep-debug-symbols` configuration option to set default value of '`debug`' toolchain option](enhancements.md#keep-debug-symbols)
8074
- [Provide control over how generated modules update search path for header files (via `--module-search-path-headers`)](enhancements.md#module-search-path-headers)
8175
- [Provide control over how EasyBuild specifies path to header files during installation (via `--search-path-cpp-headers`)](enhancements.md#search-path-cpp-headers)
8276
- [Provide control over how EasyBuild specifies path to libraries during installation (via `--search-path-linker`)](enhancements.md#search-path-linker)
@@ -94,12 +88,12 @@ Functionality that was deprecated a while ago in EasyBuild v4.x has been ***remo
9488

9589
- [EasyBuild bootstrap script](removed-functionality.md#bootstrap_script)
9690
- [Experimental support for `.yeb` easyconfig](removed-functionality.md#yeb)
97-
- [`accept-eula` configuration setting](removed-functionality.md#accept-eula)
91+
- [`--accept-eula` configuration setting](removed-functionality.md#accept-eula)
9892
- [`--wait-on-lock` configuration setting](removed-functionality.md#wait-on-lock)
9993
- [`is_generic_easyblock` function from `easybuild.framework.easyconfig.easyconfig`](removed-functionality.md#easyconfig-is_generic_easyblock)
10094
- [`copytree`, `rmtree2` functions from `easybuild.filetools`](removed-functionality.md#filetools-copytree-rmtree2)
10195
- [`fetch_extension_sources` method in `EasyBlock` class](removed-functionality.md#EasyBlock-fetch_extension_sources)
102-
- [`mod_exists_regex_template` options in `ModulesTool.exist` method](removed-functionality.md#ModulesTool-exist-mod_exists_regex_template)
96+
- [`mod_exists_regex_template` option in `ModulesTool.exist` method](removed-functionality.md#ModulesTool-exist-mod_exists_regex_template)
10397
- [`Toolchain.add_dependencies` method](removed-functionality.md#Toolchain-add_dependencies)
10498
- [`disable_templating` + `default_fallback` options in `get_easyblock_class` function](removed-functionality.md#get_easyblock_class)
10599
- [`skip_lower` option from `template_constant_dict` function](removed-functionality.md#template_constant_dict)
@@ -143,13 +137,6 @@ Some functionality is being deprecated in EasyBuild v5.0, and is scheduled to be
143137

144138
- [Toolchain support policy](../policies/toolchains.md)
145139

146-
---
147-
148-
## FAQ
149-
150-
*(coming soon)*
151-
152-
153140
---
154141

155142
## Other links

docs/easybuild-v5/removed-functionality.md

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -42,93 +42,108 @@ format and little suggestion that anyone was using it at all.
4242

4343
---
4444

45-
## `accept-eula` configuration setting] {: #accept-eula }
45+
## `--accept-eula` configuration setting] {: #accept-eula }
4646

47-
*(more info soon)*
47+
The `--accept-eula` option was changed to `--accept_eula_for` in EasyBuild 4.3.4 where it was also enhanced to
48+
support reular expressions. Use of `--accept-eula` has now been removed.
4849

4950
---
5051

5152
## `--wait-on-lock` configuration setting {: #wait-on-lock }
5253

53-
*(more info soon)*
54+
The `--wait-on-lock` option was replaced and split into `--wait-on-lock-limit` and `--wait-on-lock-interval` in
55+
EasyBuild 4.2.1. Use of `--wait-on-lock` has now been removed.
5456

5557
---
5658

5759
## `is_generic_easyblock` function from `easybuild.framework.easyconfig.easyconfig` {: #easyconfig-is_generic_easyblock }
5860

59-
*(more info soon)*
61+
`is_generic_easyblock` was moved to `easybuild.tools.filetools` in EasyBuild 4.2.0. Use of `is_generic_easyblock`
62+
from `easybuild.framework.easyconfig.easyconfig` has been removed.
6063

6164
---
6265

6366
## `copytree`, `rmtree2` functions from `easybuild.filetools` {: #filetools-copytree-rmtree2 }
6467

65-
*(more info soon)*
68+
The use of `rmtree2` was replaced by `remove_dir` and the use of `copytree` by `copy_dir` in EasyBuild 4.2.0.
69+
Use of `rmtree2` and `copytree`, from `easybuild.filetools`, has now been removed.
6670

6771
---
6872

6973
## `fetch_extension_sources` method in `EasyBlock` class {: #EasyBlock-fetch_extension_sources }
7074

71-
*(more info soon)*
75+
`fetch_extension_sources` was replaced by `collect_exts_file_info`. in EasyBuild 4.5.0. Use of
76+
`fetch_extension_sources` has now been removed.
7277

7378
---
7479

75-
## `mod_exists_regex_template` options in `ModulesTool.exist` method {: #ModulesTool-exist-mod_exists_regex_template }
80+
## `mod_exists_regex_template` option in `ModulesTool.exist` method {: #ModulesTool-exist-mod_exists_regex_template }
7681

77-
*(more info soon)*
82+
The `mod_exists_regex_template` option in `ModulesTool.exist` was unused and has now been removed.
7883

7984
---
8085

8186
## `Toolchain.add_dependencies` method {: #Toolchain-add_dependencies }
8287

83-
*(more info soon)*
88+
`Toolchain.add_dependencies` has been removed. The dependencies should be passed to the `prepare`
89+
method instead, using the `deps` argument.
8490

8591
---
8692

8793
## `disable_templating` + `default_fallback` options in `get_easyblock_class` function {: #get_easyblock_class }
8894

89-
*(more info soon)*
95+
`disable_templating` was changed to be a function on the EasyConfig class in EasyBuild 4.4.0.
96+
`disable_templating` and the `default_fallback` option for `get_easyblock_class` have now been removed.
9097

9198
---
9299

93100
## `skip_lower` option from `template_constant_dict` function {: #template_constant_dict }
94101

95-
*(more info soon)*
102+
The `skip_lower` option in `template_constant_dict` had no effect in EasyBuild 4 and has now been
103+
removed.
96104

97105
---
98106

99107
## `use_git_am` option for `apply_patch` function {: #apply_patch-use_git_am }
100108

101-
*(more info soon)*
109+
The `use_git_am` option for `apply_patch` was renamed to `use_git` in EasyBuild 4.3.0 . This option
110+
has now been removed.
102111

103112
---
104113

105114
## `skip_symlinks` option for `adjust_permissions` function {: #adjust_permissions-skip_symlinks }
106115

107-
*(more info soon)*
116+
The `skip_symlinks` option in the `adjust_permissions` function has been removed. Symlinks are not
117+
followed in this function.
108118

109119
---
110120

111121
## `log_error` option in `which` function {: #which-log_error }
112122

113-
*(more info soon)*
123+
The `log_error` option in the `which` function was changed to `on_error` in EasyBuild 4.4.0 to allow
124+
enhanced options on what to do when an error is encountered in this function. This option has now
125+
been removed.
114126

115127
---
116128

117129
## `descr` option for `simple_option` function {: #simple_option-descr }
118130

119-
*(more info soon)*
131+
The `descr` option in the `simple_option` function was removed. This has been unused in EasyBuild for
132+
a long time.
120133

121134
---
122135

123136
## `dummy` toolchain {: #dummy-toolchain }
124137

125-
*(more info soon)*
138+
The `dummy` toolchain was replaced by the `SYSTEM` toolchain in EasyBuild 4. The `dummy` toolchain has
139+
now been removed. As part of this the `--add-system-to-minimal-toolchains` option replaces
140+
`--add-dummy-to-minimal-toolchains`.
126141

127142
---
128143

129144
## Support for 32-bit targets {: #32-bit-targets }
130145

131-
*(more info soon)*
146+
EasyBuild has support for 32-bit targets for `imkl` versions before 11. These have now been removed.
132147

133148
---
134149

docs/easystack-files.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This documentation covers aspects of specifying a software stack to
44
install with Easybuild with *easystack files*.
55

66
!!! note
7-
Some breaking changes were made to the experimental easystack support in EasyBuild v4.7.0.
7+
Some breaking changes were made to the easystack support in EasyBuild v4.7.0.
88

99
Easystack files must now use the `easyconfigs` top-level key to list *easyconfig filenames*,
1010
as opposed to the `software` top-level key and separate subkeys like `version`, `versionsuffix` and
@@ -21,7 +21,7 @@ specify to EasyBuild what to install.
2121
To build software with *Easystack*, type:
2222

2323
``` shell
24-
eb --easystack example.yaml --experimental
24+
eb --easystack example.yaml
2525
```
2626

2727
where `example.yaml` is the file with specifications that you just
@@ -136,7 +136,7 @@ easyconfigs:
136136
and you run with
137137

138138
``` shell
139-
eb --experimental --easystack my_easystack.yaml --dry-run
139+
eb --easystack my_easystack.yaml --dry-run
140140
```
141141

142142
this will have the same effect as running
@@ -163,7 +163,7 @@ they take priority over the the ones on the command line, if the same configurat
163163
For example, running:
164164

165165
``` shell
166-
eb --experimental --easystack my_easystack.yaml --disable-debug
166+
eb --easystack my_easystack.yaml --disable-debug
167167
```
168168

169169
will effectively cause `PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb` to be installed with debug logging enabled,

docs/installing-extensions-in-parallel.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@ in the background, to exploit the availability of multiple cores.
1111
To let EasyBuild install extensions in parallel, the
1212
`parallel-extensions-install` configuration option must be enabled.
1313

14-
In addition, since the support for installing extensions in parallel is
15-
an experimental feature, the `experimental` configuration option must be
16-
also be enabled (see also [Experimental features][experimental_features]).
17-
1814
How many extension installations should be started (at maximum) at the
1915
same time is controlled by the `parallel` configuration option.
2016

@@ -45,9 +41,6 @@ There are a couple of caveats and known issues with installing
4541
extensions in parallel, which we hope to resolve in future EasyBuild
4642
releases.
4743

48-
This is also why the support for installing extensions in parallel is
49-
currently marked as an experimental feature.
50-
5144
### Only works for R extensions {: #installing_extensions_in_parallel_caveats_known_issues_only_r }
5245

5346
The support for installing extensions in parallel currently only works

docs/submitting-jobs.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ by the software dependency graph(s).
2424

2525
The job backend to be used can be specified using the `--job-backend` EasyBuild configuration option.
2626

27-
Since EasyBuild 3.8.0, three backends are supported:
27+
Three backends are supported:
2828

29-
* `GC3Pie` *(default)* (supported since EasyBuild 2.2.0)
30-
* `GC3Pie` version 2.5.0 (or more recent) required (<https://gc3pie.readthedocs.org>)
31-
* works with different resource managers and job schedulers, including TORQUE/PBS, Slurm, etc.
32-
* **note**: requires that a GC3Pie configuration file is provided, see [Configuring the job backend][submitting_jobs_cfg_job_backend_config]
29+
* `Slurm` *(default)*
30+
* requires Slurm version 17.0 (or more recent), (<https://slurm.schedmd.com/>)
3331
* `PbsPython`
3432
* `pbs_python` version 4.1.0 (or more recent) required (<https://oss.trac.surfsara.nl/pbs_python>)
3533
* **note**: requires TORQUE resource manager (<https://adaptivecomputing.com/cherry-services/torque-resource-manager>)
36-
* `Slurm` (supported since EasyBuild 3.8.0)
37-
* requires Slurm version 17.0 (or more recent), (<https://slurm.schedmd.com/>)
34+
* `GC3Pie` *(deprecated)*
35+
* `GC3Pie` version 2.5.0 (or more recent) required (<https://gc3pie.readthedocs.org>)
36+
* works with different resource managers and job schedulers, including TORQUE/PBS, Slurm, etc.
37+
* **note**: requires that a GC3Pie configuration file is provided, see [Configuring the job backend][submitting_jobs_cfg_job_backend_config]
3838

3939

4040
### Configuring the job backend (`--job-backend-config`) {: #submitting_jobs_cfg_job_backend_config }
@@ -59,8 +59,8 @@ which job backend is being used:
5959
* if the `PbsPython` job backend is used, the (most common) number of available cores per workernode in the
6060
target resource is determined; this usually results in jobs requesting full workernodes (at least in terms of cores)
6161
by default
62-
* if the `GC3Pie` or `Slurm` job backend is used, the requested number of cores is left unspecified,
63-
which results in falling back to the default mechanism used by GC3Pie/Slurm to pick a number of cores;
62+
* if the `Slurm` or `GC3Pie` job backend is used, the requested number of cores is left unspecified,
63+
which results in falling back to the default mechanism used by Slurm/GC3Pie to pick a number of cores;
6464
most likely, this results in single-core jobs to be submitted by default
6565

6666

@@ -79,7 +79,7 @@ can be specified via the `--job-deps-type` configuration setting:
7979
The default value for `-job-deps-type` depends on the job backend being used
8080
(see [Configuring the job backend][submitting_jobs_cfg_job_backend_config):
8181

82-
* for the `GC3Pie` and `Slurm` backends, `--job-deps-type=abort_on_error` is the default;
82+
* for the `Slurm` and `GC3Pie` backends, `--job-deps-type=abort_on_error` is the default;
8383
* for the `PbsPython` backend, `--job-deps-type=always_run` is the default (because of historical reasons,
8484
and for the sake of backward compatibility)
8585

0 commit comments

Comments
 (0)