Skip to content

fix installopts before installing the extension in GROMACS easyblock#2391

Merged
smoors merged 2 commits intoeasybuilders:developfrom
akesandgren:20210420180716_new_pr_kIkAdAoVtS
Apr 29, 2021
Merged

fix installopts before installing the extension in GROMACS easyblock#2391
smoors merged 2 commits intoeasybuilders:developfrom
akesandgren:20210420180716_new_pr_kIkAdAoVtS

Conversation

@akesandgren
Copy link
Copy Markdown
Contributor

(created using eb --new-pr)

@akesandgren
Copy link
Copy Markdown
Contributor Author

akesandgren commented Apr 20, 2021

The installopts was not correctly reset before doing the extension.
This fixes part of easybuilders/easybuild-easyconfigs#12673

@akesandgren
Copy link
Copy Markdown
Contributor Author

Test report by @akesandgren

Overview of tested easyconfigs (in order)

  • SUCCESS GROMACS-2021-fosscuda-2020b.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
b-cn0235.hpc2n.umu.se - Linux Ubuntu 20.04, x86_64, Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz, Python 3.8.5
See https://gist.github.com/6bafe5e2c2cdbf7e81a941ecca38edf1 for a full test report.

# Reset installopts etc for the benefit of the gmxapi extension
self.cfg['install_cmd'] = self.orig_install_cmd
self.cfg['build_cmd'] = self.orig_build_cmd
self.cfg['installopts'] = self.orig_installopts
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, this makes me a bit nervous... Why (only) these easyconfig parameters?

Isn't this a sign of a bigger issue (not specific to GROMACS) that should be fixed in framework?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually I only need to reset installopts, but since I had saved the others too I reset them.
And the reason for saving them is that I change them from their defaults.

The problem with installopts was that it gets set to "install" causing the subsequent extension pip command to come out as:

INFO cmd "export GMXTOOLCHAINDIR=/home/a/ake/Public/easybuild/software/GROMACS/2021-fosscuda-2020b/share/cmake/gromacs_mpi &&
 pip install --prefix=/home/a/ake/Public/easybuild/software/GROMACS/2021-fosscuda-2020b install  --verbose  --no-deps  --ignore-installed  --no-build-isolation  ."

Note the double "install", i.e. it tried to install the "install" pkg from pypi... causing the sanity to barf...

So, most easyblocks don't internally change any of these... thus no problem. But installopts could potentially be worth keeping an eye on before going into pythonpackage extension installation.

@dithwick
Copy link
Copy Markdown
Contributor

I thought I'd better confirm that this easyblock fixed the sanity check issue I was observing with CentOS 7.9. Not had a chance yet to check with CentOS 8.3 but I suspect it will fix it there too!

@smoors
Copy link
Copy Markdown
Contributor

smoors commented Apr 27, 2021

Test report by @smoors

Overview of tested easyconfigs (in order)

  • SUCCESS scikit-build-0.11.1-foss-2020b.eb
  • SUCCESS GROMACS-2021-foss-2020b.eb

Build succeeded for 2 out of 2 (1 easyconfigs in total)
node316.hydra.os - Linux centos linux 7.9.2009, x86_64, Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz (skylake_avx512), Python 2.7.5
See https://gist.github.com/4222741fe4bd6aa031b381463c1d4adf for a full test report.

@boegel boegel changed the title gromacs.py: Fix installopts before installing the extension. fix installopts before installing the extension in GROMACS easyblock Apr 28, 2021
Copy link
Copy Markdown
Contributor

@smoors smoors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@smoors
Copy link
Copy Markdown
Contributor

smoors commented Apr 29, 2021

Going in, thanks @akesandgren!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants