easybuilders / easybuild-easyconfigs

A collection of easyconfig files that describe which software to build using which build options with EasyBuild.
https://easybuild.io
GNU General Public License v2.0
371 stars 699 forks source link

building from merged PR may fail if some easyconfigs files touched were later removed/renamed #18915

Open schiotz opened 11 months ago

schiotz commented 11 months ago

Hi,

I attempted to build from PR #18833 but that failed with an error (see below), almost certainly because that PR patches a file added in a previously merged PR, but not yet in the master branch. The documentation states that merged PRs are applied to the develop branch rather than to the master branch, but that does not seem to be what actually happens.

Workaround: Building from a cloned repo on the develop branch.

$ eb --from-pr=18833 OpenMPI-4.1.5-GCC-12.3.0.eb --rebuild

== Temporary log file in case of crash /tmp/eb-e066xxhi/easybuild-qhbft67t.log
/home/niflheim/schiotz/.local/lib/python3.6/site-packages/secretstorage/util.py:23: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography. The next release of cryptography (40.0) will be the last to support Python 3.6.
  from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
ERROR: Couldn't find path to patched file /tmp/eb-e066xxhi/files_pr18833/o/OpenMPI/OpenMPI-4.1.5-GCC-13.2.0.eb
boegel commented 11 months ago

For merged PRs, EasyBuild will try to download the easyconfig files from the develop branch.

In this case that fails, because OpenMPI-4.1.5-GCC-13.2.0.eb was removed in #18898, and replaced by OpenMPI-4.1.6-GCC-13.2.0.eb. In-place updates are usually not done, but in this case it was i) acceptable, since OpenMPI-4.1.5-GCC-13.2.0.eb was not included in an EasyBuild release yet, and only merged shortly before, ii) using OpenMPI 4.1.6 is preferred for the upcoming foss/2023b.

It's a bit annoying that you're hitting this when you're only trying to build OpenMPI-4.1.5-GCC-12.3.0.eb, so OpenMPI-4.1.5-GCC-13.2.0.eb isn't actually needed at all, but it's not that easy to fix...

schiotz commented 11 months ago

Thank you very much for your explanation, @boegel

but it's not that easy to fix...

I think this is a corner case that is not worth fixing unless doing so was easy.