Skip to content

Conversation

@bedroge
Copy link
Contributor

@bedroge bedroge commented Oct 21, 2025

The build of Rust 1.85.1 failed in EESSI (EESSI/software-layer#1249), because of:

running: patchelf --set-interpreter /cvmfs/software.eessi.io/versions/2025.06/compat/linux/x86_64/lib64/ld-linux-x86-64.so.2 /tmp/bot/easybuild/build/Rust/1.85.1/GCCcore-14.2.0/rustc-1.85.1-src/build/x86_64-unknown-linux-gnu/stage0/lib/libLLVM.so.19.1-rust-1.84.0-stable
patchelf: cannot find section '.interp'. The input file is most likely statically linked

This is caused by the existing patch that tries to skip libraries by checking if their filename ends with ".so":
https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/r/Rust/Rust-1.70_sysroot-fix-interpreter.patch#L30

Obviously, that doesn't work for this file named libLLVM.so.19.1-rust-1.84.0-stable. Instead, I'm now using the approach that Rust's bootstrap script already uses here, i.e. by simply checking if the filename contains .so: https://github.com/rust-lang/rust/blob/master/src/bootstrap/bootstrap.py#L863

@bedroge
Copy link
Contributor Author

bedroge commented Oct 21, 2025

@boegelbot please test @ jsc-zen3
CORE_CNT=16
EB_ARGS="--installpath /tmp/$USER/pr-24331"

@boegelbot
Copy link
Collaborator

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

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=24331 EB_ARGS="--installpath /tmp/$USER/pr-24331" EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_24331 --ntasks="16" ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 3426796044 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).

@bedroge bedroge changed the title fix Rust sysroot patch to properly skip libraries fix Rust sysroot patch to properly skip libraries when setting the interpreter with patchelf Oct 21, 2025
@bedroge
Copy link
Contributor Author

bedroge commented Oct 21, 2025

Successful EESSI build (i.e. with non-standard sysroot) in EESSI/software-layer#1249 (comment).

@bedroge bedroge added the EESSI Related to EESSI project label Oct 21, 2025
@boegel boegel added this to the next release (5.2.0?) milestone Oct 21, 2025
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 removed the change label Oct 21, 2025
@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 15 out of 15 (15 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/1e7bd1ee823330bf252d612d3e9d296e for a full test report.

@boegel boegel mentioned this pull request Oct 22, 2025
1 task
@boegel
Copy link
Member

boegel commented Oct 22, 2025

Test report by @boegel
SUCCESS
Build succeeded for 7 out of 7 (7 easyconfigs in total)
node4202.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.21
See https://gist.github.com/boegel/a59144c400b44429a35b215e5a0b0dac for a full test report.

@boegel
Copy link
Member

boegel commented Oct 22, 2025

Test report by @boegel
SUCCESS
Build succeeded for 8 out of 8 (8 easyconfigs in total)
node4205.shinx.os - Linux RHEL 9.6, x86_64, AMD EPYC 9654 96-Core Processor (zen4), Python 3.9.21
See https://gist.github.com/boegel/f42c0b1c788597d0688e85318b61fdb9 for a full test report.

@boegel
Copy link
Member

boegel commented Oct 22, 2025

Going in, thanks @bedroge!

@boegel boegel merged commit fb71f0b into easybuilders:develop Oct 22, 2025
8 checks passed
@bedroge bedroge deleted the rust_sysroot_patch branch October 22, 2025 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug fix EESSI Related to EESSI project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants