Skip to content

Conversation

@Flamefire
Copy link
Contributor

@Flamefire Flamefire commented Oct 16, 2025

(created using eb --new-pr)

The Clang easyblock has a workaround for finding the final paths (i.e. the folder that was contained in each source archive) by using globs.

With easybuilders/easybuild-framework#4922 this becomes unnecessary and even fails because it will e.g. look in the wrong folder and append the finalpath to itself:

  • In one variant of Correctly detect final path when extracting multiple tarballs  easybuild-framework#4922 it switched to the final path of the last source which prior to that was (wrongly) the builddir. The required paths were subfolders of the builddir so that worked but as the finalpath of the last source now correctly is "libunwind-xxx" it won't find the sources. Similar when switching to the directory of the first source which is the current solution
  • It will then append the glob found to the finalpath of each source leading to e.g. builddir/compiler-rt-xxx/compiler-rt-xxx

We don't need that logic anymore as we can simply use the finalpath of each source directly.

Requires

@Flamefire
Copy link
Contributor Author

Flamefire commented Oct 16, 2025

Failing Clang 18 uses LLVM easyblock and fails in tests, so unrelated

Test report by @Flamefire

Overview of tested easyconfigs (in order)

  • SUCCESS Clang-12.0.1-GCCcore-10.3.0.eb

  • SUCCESS Clang-13.0.1-GCCcore-11.3.0-CUDA-11.7.0.eb

  • SUCCESS Clang-13.0.1-GCCcore-11.3.0.eb

  • SUCCESS Clang-15.0.5-GCCcore-11.3.0.eb

  • SUCCESS Clang-16.0.6-GCCcore-12.3.0-CUDA-12.1.1.eb

  • SUCCESS Clang-16.0.6-GCCcore-12.3.0.eb

  • SUCCESS Clang-16.0.6-GCCcore-12.3.0-shared.eb

  • SUCCESS Clang-17.0.0_20230515-GCCcore-12.3.0-CUDA-12.1.1.eb

  • SUCCESS Clang-17.0.6-GCCcore-13.2.0.eb

  • FAIL Clang-18.1.8-GCCcore-13.3.0-CUDA-12.6.0.eb (build issue)
    (partial log available at https://gist.github.com/Flamefire/1a8470b899e9641c71572a4cd2cea2aa)

  • SUCCESS Clang-18.1.8-GCCcore-13.3.0.eb

  • SUCCESS CUDA-11.3.1.eb

  • SUCCESS hwloc-2.5.0-GCCcore-11.2.0.eb

  • SUCCESS Z3-4.12.2-GCCcore-12.2.0.eb

  • SUCCESS Clang-12.0.1-GCCcore-10.3.0-CUDA-11.3.1.eb

  • SUCCESS Clang-16.0.4-GCCcore-12.2.0.eb

  • SUCCESS Z3-4.8.12-GCCcore-11.2.0.eb

  • SUCCESS elfutils-0.185-GCCcore-11.2.0.eb

  • SUCCESS Clang-12.0.1-GCCcore-11.2.0.eb

  • SUCCESS Clang-13.0.1-GCCcore-11.2.0.eb

  • SUCCESS CUDA-11.4.1.eb

  • SUCCESS Clang-13.0.1-GCCcore-11.2.0-CUDA-11.4.1.eb

Build succeeded for 21 out of 22 (16 easyconfigs in total)
c144 - Linux AlmaLinux 9.4, x86_64, AMD EPYC 9334 32-Core Processor (zen4), 4 x NVIDIA NVIDIA H100, 560.35.03, Python 3.9.18
See https://gist.github.com/Flamefire/e9b96aeb5db04285f3ed7c4dbce3b5eb for a full test report.

@Flamefire
Copy link
Contributor Author

Test report by @Flamefire

Overview of tested easyconfigs (in order)

  • SUCCESS Clang-12.0.1-GCCcore-10.3.0-CUDA-11.3.1.eb

  • SUCCESS Clang-12.0.1-GCCcore-10.3.0.eb

  • SUCCESS Clang-12.0.1-GCCcore-11.2.0.eb

  • SUCCESS Clang-13.0.1-GCCcore-11.2.0-CUDA-11.4.1.eb

  • SUCCESS Clang-13.0.1-GCCcore-11.2.0.eb

  • SUCCESS Clang-13.0.1-GCCcore-11.3.0-CUDA-11.7.0.eb

  • SUCCESS Clang-13.0.1-GCCcore-11.3.0.eb

  • SUCCESS Clang-15.0.5-GCCcore-11.3.0.eb

  • SUCCESS Clang-16.0.6-GCCcore-12.3.0-CUDA-12.1.1.eb

  • SUCCESS Clang-16.0.6-GCCcore-12.3.0.eb

  • SUCCESS Clang-16.0.6-GCCcore-12.3.0-shared.eb

  • SUCCESS Clang-17.0.0_20230515-GCCcore-12.3.0-CUDA-12.1.1.eb

  • SUCCESS Clang-17.0.6-GCCcore-13.2.0.eb

  • SUCCESS Clang-18.1.8-GCCcore-13.3.0-CUDA-12.6.0.eb

  • SUCCESS Clang-18.1.8-GCCcore-13.3.0.eb

  • SUCCESS Z3-4.12.2-GCCcore-12.2.0.eb

  • SUCCESS Clang-16.0.4-GCCcore-12.2.0.eb

Build succeeded for 17 out of 17 (16 easyconfigs in total)
i8019 - Linux Rocky Linux 9.6, x86_64, AMD EPYC 7352 24-Core Processor (zen2), 8 x NVIDIA NVIDIA A100-SXM4-40GB, 580.65.06, Python 3.9.21
See https://gist.github.com/Flamefire/d4f66449cde1101fdacd9f491bf74fd9 for a full test report.

@boegel
Copy link
Member

boegel commented Oct 22, 2025

@Flamefire Isn't this an indication that merging easybuilders/easybuild-framework#4922 would introduce a breaking change?

@boegel boegel added the bug fix label Oct 22, 2025
@boegel boegel added this to the next release (5.2.0?) milestone Oct 22, 2025
@Flamefire
Copy link
Contributor Author

@Flamefire Isn't this an indication that merging easybuilders/easybuild-framework#4922 would introduce a breaking change?

In some rare cases yes. I mention that in easybuilders/easybuild-framework#4922 (comment)

There shouldn't be much that does this gymnastics the Clang easyblock does to workaround the bug that is fixed by 4922

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.

2 participants