Skip to content
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

Replace run_cmd with run_shell_cmd in custom easyblock for MetalWalls #3415

Merged
merged 1 commit into from
Aug 19, 2024

Conversation

Crivella
Copy link
Contributor

Replaced run_cmd with run_shell_cmd for 5.0 release

@boegel
Copy link
Member

boegel commented Aug 19, 2024

@boegelbot please test @ jsc-zen3
EB_ARGS="MetalWalls-21.06.1-foss-2023a.eb"
EB_BRANCH=5.0.x

@boegel boegel added change EasyBuild-5.0 EasyBuild 5.0 labels Aug 19, 2024
@boegel boegel added this to the 5.0 milestone Aug 19, 2024
@boegelbot
Copy link

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ "5.0.x" != 'develop' ]]; then EB_BRANCH="5.0.x" ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/"5.0.x" source init_env_easybuild_develop.sh; fi; EB_PR=3415 EB_ARGS="MetalWalls-21.06.1-foss-2023a.eb" EB_REPO=easybuild-easyblocks EB_BRANCH="5.0.x" /opt/software/slurm/bin/sbatch --job-name test_PR_3415 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 4692

Test results coming soon (I hope)...

- notification for comment with ID 2296121135 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link

Test report by @boegelbot

Overview of tested easyconfigs (in order)

Build succeeded for 0 out of 1 (1 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.4, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.18
See https://gist.github.com/boegelbot/9e690383331296798b5f39d5b71c7803 for a full test report.

@Crivella
Copy link
Contributor Author

Crivella commented Aug 19, 2024

I tested also on my system with --rpath and i get the same error, but libplumed.so and libplumedKernel.so are in the same directory.
Also I don't think we had this failure when building MW for EESSI, which should have RPATH enabled

Having a closer look at the build process, it seems that the plumed commands is used only to generate links to the Plumed.inc which than is used by the Makefile to link plumed as the full path to the library plus -ldl but no reference to -lplumedKernel.
This causes the secondary dependency of libplumed.so -> libplumedKernel.so not being picked up as NEEDED in the elf and consequently by RPATH.

Is there a workaround that is implemented in the EESSI build for this?
I did try to add a check to see if rpath and plumed are being used and run patchelf to add:

  • libplumedKernel.so
  • libgsl.so
  • libboost_serialization-mt-x64.so

which seems to solve this, but wanted to check if there if there is already a more general solution that could be applied here.

@boegel
Copy link
Member

boegel commented Aug 19, 2024

Hmm, from the top of my head I don't recall us implementing a workaround in EESSI for this, so I'm also a bit puzzled here...

The installation in EESSI doesn't show the problems being caught here then?

@Crivella
Copy link
Contributor Author

Crivella commented Aug 19, 2024

Yeah it went through without any problem, also ran the ReFrame test on my WS from the EESSI installation, and we've also started testing it in the test-suite (still not merged EESSI/test-suite#164)

@Crivella
Copy link
Contributor Author

As suggested by @boegel in a discussion it seems one of the dependencies (in this case PLUMED) was not build with RPATH enabled on the build cluster.
Tested on my WS and rebuildig PLUMED with --rpath leads to a successful build of MW without any easyblock modifications

@boegel
Copy link
Member

boegel commented Aug 19, 2024

It looks like our set up jsc-zen3 is not exactly ideal, as build done with EasyBuild 4.x and 5.x are mixed...

So indeed, PLUMED was installed with EasyBuild 4.x (without RPATH).

Should be easy to work around though, I'll just trigger a rebuild of PLUMED too...

@boegel
Copy link
Member

boegel commented Aug 19, 2024

@boegelbot please test @ jsc-zen3
EB_ARGS="PLUMED-2.9.0-foss-2023a.eb MetalWalls-21.06.1-foss-2023a.eb"
EB_BRANCH=5.0.x

@boegelbot
Copy link

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ "5.0.x" != 'develop' ]]; then EB_BRANCH="5.0.x" ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/"5.0.x" source init_env_easybuild_develop.sh; fi; EB_PR=3415 EB_ARGS="PLUMED-2.9.0-foss-2023a.eb MetalWalls-21.06.1-foss-2023a.eb" EB_REPO=easybuild-easyblocks EB_BRANCH="5.0.x" /opt/software/slurm/bin/sbatch --job-name test_PR_3415 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 4693

Test results coming soon (I hope)...

- notification for comment with ID 2296788214 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS PLUMED-2.9.0-foss-2023a.eb
  • SUCCESS MetalWalls-21.06.1-foss-2023a.eb

Build succeeded for 2 out of 2 (2 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.4, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.18
See https://gist.github.com/boegelbot/99d3657d0125a6b4cd29a862708aca61 for a full test report.

Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

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

lgtm

@boegel boegel merged commit c8bc3ef into easybuilders:5.0.x Aug 19, 2024
19 checks passed
@Crivella Crivella deleted the feature-MW_runshellcommand branch August 19, 2024 19:26
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.

3 participants