From 0f64e66b51b72cb3284c9e0e2849330abe1b70ab Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Wed, 19 Mar 2025 03:12:06 +0100 Subject: [PATCH 1/6] remove section about allowing missing easyblocks in parallel extensions installations --- docs/easybuild-v5/enhancements.md | 8 -------- docs/easybuild-v5/index.md | 1 - 2 files changed, 9 deletions(-) diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index 73f81f03d2..c8d7f8d859 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -6,7 +6,6 @@ Various significant enhancements are included in EasyBuild v5.0, including: - [New function to run shell commands: `run_shell_cmd`][run_shell_cmd] - [Interactive debugging of failing shell commands via `env.sh` and `cmd.sh` scripts][interactive-debugging-failing-shell-commands] -- [Don't raise error when required extensions are not found when installing extensions in parallel][parallel-extensions-install] - [Mark support for installing extensions in parallel as stable (no longer experimental)][parallel-extensions-install-stable] - [Mark easystack support as stable (no longer experimental)][easystack-stable] - [Reproducible tarballs for sources created via `git_config`][reproducible-tarballs-git_config] @@ -52,13 +51,6 @@ status codes are reported in the corresponding logs. --- -## Don't raise error when required extensions are not found when installing extensions in parallel {: #parallel-extensions-install } - -*(more info soon)* - ---- - - ## Mark support for installing extensions in parallel as stable (no longer experimental) {: #parallel-extensions-install-stable } *(more info soon)* diff --git a/docs/easybuild-v5/index.md b/docs/easybuild-v5/index.md index 15b1ceccbc..0311ba1018 100644 --- a/docs/easybuild-v5/index.md +++ b/docs/easybuild-v5/index.md @@ -67,7 +67,6 @@ Various significant enhancements are included in EasyBuild v5.0, including: - [New function to run shell commands: `run_shell_cmd`](run_shell_cmd.md) - [Interactive debugging of failing shell commands via `env.sh` and `cmd.sh` scripts](../interactive-debugging-failing-shell-commands.md) -- [Don't raise error when required extensions are not found when installing extensions in parallel](enhancements.md#parallel-extensions-install) - [Mark support for installing extensions in parallel as stable (no longer experimental)](enhancements.md#parallel-extensions-install-stable) - [Mark easystack support as stable (no longer experimental)](enhancements.md#easystack-stable) - [Reproducible tarballs for sources created via `git_config`](enhancements.md#reproducible-tarballs-git_config) From 7309485a66dc47cb8b459cded9939ed09ecb8e71 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 20 Mar 2025 02:27:27 +0100 Subject: [PATCH 2/6] fix links to configuremake-unknown-configure-options section --- docs/easybuild-v5/enhancements.md | 3 +-- docs/easybuild-v5/index.md | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index 9d0c5664e9..1884beda75 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -359,11 +359,10 @@ If the software uses the `.mod` extension for a different type of file then the --- -## Let `ConfigureMake` generic easyblock error out on unrecognized `configure` options { : #configuremake-unrecognized-configure-options } +## Let `ConfigureMake` generic easyblock error out on unrecognized `configure` options { : #configuremake-unknown-configure-options } *(more info soon)* - --- ## Require `download_instructions` for non-public sources {: require_download_instructions } diff --git a/docs/easybuild-v5/index.md b/docs/easybuild-v5/index.md index 350d95b04d..0d3bf73c2f 100644 --- a/docs/easybuild-v5/index.md +++ b/docs/easybuild-v5/index.md @@ -83,7 +83,7 @@ Various significant enhancements are included in EasyBuild v5.0, including: - [Support not using `$PYTHONPATH` to specify the location of installed Python packages (via `--prefer-python-search-path`)](enhancements.md#PYTHONPATH-vs-EBPYTHONPREFIXES) - [Revamp of easyconfig parameter `modextrapaths`](enhancements.md#modextrapaths-revamp) - [Detect Fortran `.mod` files in `GCCcore` installations](enhancements.md#mod-files) -- [Let `ConfigureMake` generic easyblock error out on unrecognized `configure` options](enhancements.md#configuremake-unrecognized-configure-options) +- [Let `ConfigureMake` generic easyblock error out on unrecognized `configure` options](enhancements.md#configuremake-unknown-configure-options) --- From 695e8ed2a7790f23b261954d2fe1a7dc9d7549ab Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 20 Mar 2025 02:40:09 +0100 Subject: [PATCH 3/6] fix links to download instructions sections --- docs/easybuild-v5/enhancements.md | 2 +- docs/easybuild-v5/index.md | 1 + docs/writing-easyconfig-files.md | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index 1884beda75..4d2c02b898 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -365,7 +365,7 @@ If the software uses the `.mod` extension for a different type of file then the --- -## Require `download_instructions` for non-public sources {: require_download_instructions } +## Require `download_instructions` for non-public sources { : #require_download_instructions } [`download_instructions`][download_instructions] is a new easyconfig parameter in EasyBuild 5.0 used to specify instructions, or information, on diff --git a/docs/easybuild-v5/index.md b/docs/easybuild-v5/index.md index 0d3bf73c2f..c2cce8fc49 100644 --- a/docs/easybuild-v5/index.md +++ b/docs/easybuild-v5/index.md @@ -84,6 +84,7 @@ Various significant enhancements are included in EasyBuild v5.0, including: - [Revamp of easyconfig parameter `modextrapaths`](enhancements.md#modextrapaths-revamp) - [Detect Fortran `.mod` files in `GCCcore` installations](enhancements.md#mod-files) - [Let `ConfigureMake` generic easyblock error out on unrecognized `configure` options](enhancements.md#configuremake-unknown-configure-options) +- [Require `download_instructions` for non-public sources](enhancements.md#require_download_instructions) --- diff --git a/docs/writing-easyconfig-files.md b/docs/writing-easyconfig-files.md index fd363f4848..fa3d8856d9 100644 --- a/docs/writing-easyconfig-files.md +++ b/docs/writing-easyconfig-files.md @@ -477,7 +477,7 @@ sources = [{ in favour of the Python dictionary format described above; see also [Specifying source files as 2-element tuples to provide a custom extraction command][depr_sources_2_element_tuple]. -#### Using `download_instructions` for user-side part of installation {: download_instructions } +#### Using `download_instructions` for user-side part of installation { : #download_instructions } In some cases, getting some of the files required for an installation cannot be automated. Reasons for this include: From 91bf19a3a4e6c86792313dc56958fa5193d0c111 Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 20 Mar 2025 03:15:03 +0100 Subject: [PATCH 4/6] add documentation about configuremake errors on unrecognized options --- docs/easybuild-v5/enhancements.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index 4d2c02b898..15bda53797 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -361,7 +361,25 @@ If the software uses the `.mod` extension for a different type of file then the ## Let `ConfigureMake` generic easyblock error out on unrecognized `configure` options { : #configuremake-unknown-configure-options } -*(more info soon)* +The generic easyblock `ConfigureMake` in EasyBuild 5.0 will catch warnings from +the `configure` command about unrecognized options being passed to it. Such +options often reveal old configuration options that do not apply to the current +version of the software being installed. Since `configure` just ignores +unrecognized options, this situation can lead to misconfigured software and +failures. Therefore, `ConfigureMake` will error out and stop the installation +whenever such a warning is found, + +The following example shows the relevant log messages for such a case: +```log +== INFO Running shell command './configure --prefix=/software/MPICH/4.2.1-GCC-12.3.0 --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu FFLAGS="-w -fallow-argument-mismatch -O2" --with-device=ch4:ucx --with-ucx=$EBROOTUCX --with-thread-package=pthreads --enable-fast --enable-shared --enable-sharedlibs=gcc --enable-static --enable-f77 --enable-fc --enable-cxx' in /build/MPICH/4.2.1/GCC-12.3.0/mpich-4.2.1 +== INFO Output of './configure ...' shell command (stdout + stderr): +configure: WARNING: unrecognized options: --with-thread-package, --enable-sharedlibs, --enable-fc +[...] +== INFO Shell command completed successfully (see output above): ./configure ... + >> command completed: exit 0, ran in 00h02m03s +== ERROR EasyBuild encountered an error (at easybuild/easybuild-framework/easybuild/base/exceptions.py:126 in __init__): Found unrecognized configure options: --with-thread-package, --enable-sharedlibs, --enable-fc (at easybuild/easybuild-easyblocks/easybuild/easyblocks/generic/configuremake.py:355 in configure_step) +``` + --- From 70d80cf9f3934b0577761557dc68cf2815d407df Mon Sep 17 00:00:00 2001 From: Alex Domingo Date: Thu, 20 Mar 2025 03:21:18 +0100 Subject: [PATCH 5/6] fix codestyle in configuremake-unknown-configure-options section --- docs/easybuild-v5/enhancements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index 15bda53797..bb81426583 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -370,6 +370,7 @@ failures. Therefore, `ConfigureMake` will error out and stop the installation whenever such a warning is found, The following example shows the relevant log messages for such a case: + ```log == INFO Running shell command './configure --prefix=/software/MPICH/4.2.1-GCC-12.3.0 --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu FFLAGS="-w -fallow-argument-mismatch -O2" --with-device=ch4:ucx --with-ucx=$EBROOTUCX --with-thread-package=pthreads --enable-fast --enable-shared --enable-sharedlibs=gcc --enable-static --enable-f77 --enable-fc --enable-cxx' in /build/MPICH/4.2.1/GCC-12.3.0/mpich-4.2.1 == INFO Output of './configure ...' shell command (stdout + stderr): @@ -380,7 +381,6 @@ configure: WARNING: unrecognized options: --with-thread-package, --enable-shared == ERROR EasyBuild encountered an error (at easybuild/easybuild-framework/easybuild/base/exceptions.py:126 in __init__): Found unrecognized configure options: --with-thread-package, --enable-sharedlibs, --enable-fc (at easybuild/easybuild-easyblocks/easybuild/easyblocks/generic/configuremake.py:355 in configure_step) ``` - --- ## Require `download_instructions` for non-public sources { : #require_download_instructions } From 6e679c3018bd6380d64fc9db392457ad983897f0 Mon Sep 17 00:00:00 2001 From: Simon Branford <4967+branfosj@users.noreply.github.com> Date: Fri, 21 Mar 2025 09:52:57 +0000 Subject: [PATCH 6/6] Update docs/easybuild-v5/enhancements.md --- docs/easybuild-v5/enhancements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/easybuild-v5/enhancements.md b/docs/easybuild-v5/enhancements.md index 9fd3aaafd8..7b5654d361 100644 --- a/docs/easybuild-v5/enhancements.md +++ b/docs/easybuild-v5/enhancements.md @@ -359,7 +359,7 @@ options often reveal old configuration options that do not apply to the current version of the software being installed. Since `configure` just ignores unrecognized options, this situation can lead to misconfigured software and failures. Therefore, `ConfigureMake` will error out and stop the installation -whenever such a warning is found, +whenever such a warning is found. The following example shows the relevant log messages for such a case: