-
Notifications
You must be signed in to change notification settings - Fork 305
Deprecate the Clang Easyblock in favor of the LLVM one for newer (>=18.1.6) versions of Clang #3746
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
Conversation
|
Hm, uploading a test report doesn't work at the point where this aborts. Works as expected though: LGTM. |
|
@boegelbot please test @ jsc-zen3 |
|
Main thing I am not sure is if we want to merge this before or after we start migrating testing all software that uses Clang as a dependency with LLVM instead |
|
@Thyre: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... - notification for comment with ID 2940475387 processed Message to humans: this is just bookkeeping information for me, |
I think we can merge this independently. For |
|
Test report by @boegelbot Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
3faa418 to
aac5947
Compare
|
This https://github.com/easybuilders/easybuild-easyblocks/compare/3faa418fd4784e8b1ffbc4ce0729dd8efcad9e39..aac5947b5809c99e02276d387951baf3451e924c got lost in a rebase gonna reapply the change sorry |
|
I would go as far as using 18.1.6 as the cutoff which is the first version that can be used with the LLVM easyblock. I'm not even sure why we have this seemingly arbitrary version there. As far as I can tell it would work fine with LLVM 18 already and in fact actually fixes a bug: The Clang easyblock for LLVM 18 installs all GPU architectures instead of the selected ones. See easybuilders/easybuild-easyconfigs#23055 which can be considered a companion PR for this one |
|
I put |
Sorry that was a bit misleading in this context. I was referring to the arbitrary looking restriction to a specific patch version in the LLVM easyblock. As far as I can tell it would work fine with LLVM 18 already So I did a test comparing Clang 18.1.0 & 18.1.6 built with the LLVM easyblock against the ones built with the clang easyblock It works and results only in a couple addition files in the LLVM version: So IMO the best would be to allow building at least all Clang 18.x with LLVM and optionally lower this deprecation warning and update the easyconfigs. What do you (and @boegel ?) think about that? |
Mostly because i think |
|
Based on test reports in easybuilders/easybuild-easyconfigs#23055, it seems like this will require more work, so this won't make it in for EasyBuild v5.1.1 |
|
@boegel I think following the merge of This is ready for review/merge |
|
@boegelbot please test @ jsc-zen3 |
|
@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... - notification for comment with ID 3180447972 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot Overview of tested easyconfigs (in order)
Build succeeded for 2 out of 2 (2 easyconfigs in total) |
The LLVM Easyblock should replace the Clang one as it supports building Clang + other subproject and has been extensively reworked to ensure the proper testing, interplay between projects, and newer subproject/project structure introduced in LLVM >= 19, in particular related to offloading
edit: need to make sure that Clang 18.1.8 easyconfigs no longer use the Clang easyblock, so requires merge of: