-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enhance ConfigureMake
easyblock to error out on unknown configure options
#3025
enhance ConfigureMake
easyblock to error out on unknown configure options
#3025
Conversation
ConfigureMake
easyblock to error out on unknown configure args
@Flamefire Since this could break existing easyconfigs, we should target this for EasyBuild 5.0 imho, which gives us some leeway (keep in mind that we don't control all easyconfigs out there). Figuring out which easyconfigs need fixing in our central easyconfigs repository is going to be really painful, but it's an exercise we need to do anyway for EasyBuild 5.0 for various other reasons (and it's a lot less painful since we've archived a large amount of old easyconfigs in the So, can you re-target this to |
bc13247
to
660db7e
Compare
660db7e
to
5c72353
Compare
I added #3026 for the 4.x branch to (only) show a well-visible warning and included that commit here upgrading it to an error in a 2nd commit (I guess you merge develop to 5.x regularly? That should help avoiding the conflict) |
@boegel I added the requested opt-out option. I felt that a bool is not enough as we might want to still show a warning but not fail the build. Hence I reused |
@Flamefire Can you look into fixing merge conflict? |
e8af859
to
9d32ba3
Compare
Done. Was simply the |
aebcc0c
to
88036f2
Compare
As for documenting "ERROR": We already have "defaults to aborting the build" and the default is ERROR so IMO this is already sufficiently documented. The alternative "'ERROR' (the default) aborts the build with an error" or something like that sounds bulky and doesn't add much value as a) we already give the information that this is the default and b) I don't expect anyone to use this value but rather omit the EC param if that behavior is intended |
FYI: This found an actual issue for me: Python 3.11 moved from using configure args to env variables for TCL |
With the recent updates to the EasyConfigs this can now be merged. I did an extensive testing using the current Note that Tcl still has the configure warning in the log but it happens during |
@Flamefire I've updated the overview in the PR description, it seems like there are a couple of unresolved cases still (and some PRs that should get merged soon). A lot of progress has been made though, it definitely looks like we'll be able to get this change included in EasyBuild v5.0 now, thanks a lot for your efforts on this! |
MESS-0.1.6-foss-2019b.eb requires SLATEC but the git-annex-10.20230802-GCCcore-12.2.0.eb uses gap-4.12.2-foss-2022a.eb Shows the warning only in the build step because the internal command passes this to all dependencies and one doesn't know about it. bigdft-suite-1.9.1-foss-2021b.eb is BigDFT and doesn't exist It was renamed in the PR that would have added it: easybuilders/easybuild-easyconfigs#15860 Yambo-5.2.dev-20230512-intel-2021b.eb must be some custom EC of yours. We only have Yambo-5.1.2-intel-2021b.eb and that installs without issues. |
I finished checking the list. In #3026 (comment) I also tested everything on our system that potentially had this issue and all installed fine. Hence I'd strongly suggest to merge both PRs: The deprecation warning for 4.x and this for 5.x |
88036f2
to
4ca608b
Compare
4ca608b
to
0306aca
Compare
460c0fb
to
af155f5
Compare
af155f5
to
1d17e41
Compare
@boegel Rebased again. |
…onfigure_options custom easyconfig parameter
ConfigureMake
easyblock to error out on unknown configure argsConfigureMake
easyblock to error out on unknown configure options
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 11 out of 11 (11 easyconfigs in total) |
(created using
eb --new-pr
)Fixes #157
This may cause failures in some existing EasyConfigs but actually we shouldn't have any unknown args in use and if we did that easyconfig likely needs fixing as it may not do what it is supposed to or looks like it is doing.
Requires:
As identified in #3026 this should be tested with:
unrecognized options: --disable-docs
, fixed in remove outdated--disable-docs
configure option from FriBidi-1.0.12 easybuild-easyconfigs#19147 + Remove --disable-docs configure option from FriBidi 1.0.5+ easybuild-easyconfigs#19998unrecognized options: --with-libgeotiff
, fixed in Fix geotiff configure option in GDAL easybuild-easyconfigs#19999unrecognized options: --with-jasper
, fixed in Remove Jasper dependency and configure option from GDAL 3.5+ easybuild-easyconfigs#20009--with-doc
configure option for groff 1.23 easybuild-easyconfigs#19969)unrecognized options: --disable-visibility
, fixed in Remove disable-visibility configure flag from GTK3 and GTK+ easyconfigs easybuild-easyconfigs#20028unrecognized options: --enable-libnuma
, fixed in remove numa configure option from hwloc 2+ easybuild-easyconfigs#19833 + remove numa configure option from hwloc 2.5+ easybuild-easyconfigs#19085unrecognized options: --without-mpi
, fixed in Remove mpi configure option from libfdf 0.2.2 easybuild-easyconfigs#20034unrecognized options: --with-cxxgen-optflags
, fixed in Remove wrong configure option for LibInt 2.6.x #3249--disable-libdeflate
option for LibTIFF 4.1.0 easybuild-easyconfigs#19951)--disable-libdeflate
option for LibTIFF 4.1.0 easybuild-easyconfigs#19951)--disable-libdeflate
option for LibTIFF 4.1.0 easybuild-easyconfigs#19951)unrecognized options: --with-ucc
, fixed in only add--with-ucc
for OpenMPI 4.1.4+ #3223build
step, so unaffectedunrecognized options: --with-tcltk-includes, --with-tcltk-libs
, fixed in use correct TCL configure options for Python 3.11+ #3087