Skip to content

Conversation

@lexming
Copy link
Contributor

@lexming lexming commented Jan 14, 2025

Update of GCC easyblock for #3527

Note: PATH and LD_LIBRARY_PATH are default and could be removed

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
Copy link
Member

boegel commented Feb 5, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="--installpath /tmp/$USER/pr3556 GCCcore-10.2.0.eb GCCcore-11.3.0.eb GCCcore-12.3.0.eb GCCcore-13.3.0.eb GCCcore-14.2.0.eb"
CORE_CNT=16
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=3556 EB_ARGS="--installpath /tmp/$USER/pr3556 GCCcore-10.2.0.eb GCCcore-11.3.0.eb GCCcore-12.3.0.eb GCCcore-13.3.0.eb GCCcore-14.2.0.eb" EB_REPO=easybuild-easyblocks EB_BRANCH="5.0.x" /opt/software/slurm/bin/sbatch --job-name test_PR_3556 --ntasks="16" ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

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

self.module_load_environment.LD_LIBRARY_PATH = ['lib', 'lib64']
# GCC can find its own headers and libraries but the .so's need to be in LD_LIBRARY_PATH
self.module_load_environment.CPATH = []
self.module_load_environment.LIBRARY_PATH = ['lib', 'lib64'] if get_cpu_family() == RISCV else []
Copy link
Member

Choose a reason for hiding this comment

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

The RISC-V exception was added here in #3256, we should check the impact of not including lib/lib64 on a RISC-V system.

@bedroge Was this really necessary, or is it really only required during the build of GCC itself?

Copy link
Contributor

Choose a reason for hiding this comment

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

Not 100% sure, but I think the final installation wouldn't work without this either.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

IMO leaving those paths in LIBRARY_PATH should not cause any harm beyond having two extra dirs in that environment variable. So I updated this easyblock to remove CPATH but leave LIBRARY_PATH with default paths: https://github.com/easybuilders/easybuild-easyblocks/pull/3584/files/04dc2b383f7116d218e7fe984ae47cd7ab063eed..9926576e2256d421d0a0cc768c2d6ca85d6b7119

@boegel
Copy link
Member

boegel commented Feb 5, 2025

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS GCCcore-10.3.0.eb
  • SUCCESS GCCcore-11.2.0.eb
  • SUCCESS GCC-12.2.0.eb
  • SUCCESS GCCcore-13.2.0.eb

Build succeeded for 4 out of 4 (4 easyconfigs in total)
node3561.doduo.os - Linux RHEL 8.8, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/boegel/41c067f3b160ea2644ec3e906b94f5e6 for a full test report.

@boegelbot
Copy link

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS GCCcore-10.2.0.eb
  • SUCCESS GCCcore-11.3.0.eb
  • SUCCESS GCCcore-12.3.0.eb
  • SUCCESS GCCcore-13.3.0.eb
  • SUCCESS GCCcore-14.2.0.eb

Build succeeded for 5 out of 5 (5 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/a25834993146019f385a97b7e0169a45 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
Copy link
Member

boegel commented Feb 10, 2025

I'll leave this as-is, since it gets rid of using the deprecated make_module_req_guess.

We'll need another pass over this after easybuilders/easybuild-framework#4655 got merged since we're hard setting $CPATH...

@boegel boegel merged commit 14a5ac9 into easybuilders:5.0.x Feb 10, 2025
19 checks passed
@lexming lexming deleted the modload-gcc branch February 10, 2025 23:24
@boegel boegel added the change label Feb 16, 2025
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