-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[llvm] allow building with builtin_llvm=OFF in Ubuntu26 #22513
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
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -157,7 +157,7 @@ | |
| INCREMENTAL: ${{ !contains(github.event.pull_request.labels.*.name, 'clean build') && !matrix.platform == 'mac15' && !matrix.platform == 'mac26'}} | ||
| GITHUB_PR_ORIGIN: ${{ github.event.pull_request.head.repo.clone_url }} | ||
| OVERRIDES: ${{ join( matrix.overrides, ' ') }} | ||
| run: | | ||
|
Check failure on line 160 in .github/workflows/root-ci.yml
|
||
| [ -d "${VIRTUAL_ENV_DIR}" ] && source ${VIRTUAL_ENV_DIR}/bin/activate | ||
| echo "Python is now $(which python3) $(python3 --version)" | ||
| src/.github/workflows/root-ci-config/build_root.py \ | ||
|
|
@@ -287,7 +287,7 @@ | |
| INCREMENTAL: ${{ !contains(github.event.pull_request.labels.*.name, 'clean build') }} | ||
| GITHUB_PR_ORIGIN: ${{ github.event.pull_request.head.repo.clone_url }} | ||
| shell: cmd | ||
| run: "C:\\setenv.bat ${{ matrix.target_arch }} && | ||
|
Check failure on line 290 in .github/workflows/root-ci.yml
|
||
| python .github/workflows/root-ci-config/build_root.py | ||
| --buildtype ${{ matrix.config }} | ||
| --platform windows10 | ||
|
|
@@ -438,6 +438,10 @@ | |
| # is_special: true | ||
| # property: gpu | ||
| # extra-runs-on: gpu | ||
| - image: ubuntu2604 | ||
| is_special: true | ||
| property: "system-llvm" | ||
| overrides: ["builtin_llvm=off"] | ||
| # openSUSE Leap | ||
| - image: opensuse16 | ||
| platform_config: opensuse16-march_native | ||
|
|
@@ -448,7 +452,7 @@ | |
| - self-hosted | ||
| - linux | ||
| - ${{ matrix.architecture == null && 'x64' || matrix.architecture }} | ||
| - ${{ matrix.extra-runs-on == null && 'cpu' || matrix.extra-runs-on }} | ||
|
Check failure on line 455 in .github/workflows/root-ci.yml
|
||
|
|
||
| name: | | ||
| ${{ matrix.image }} ${{ matrix.property }} | ||
|
|
@@ -515,7 +519,7 @@ | |
| INCREMENTAL: ${{ !contains(github.event.pull_request.labels.*.name, 'clean build') }} | ||
| GITHUB_PR_ORIGIN: ${{ github.event.pull_request.head.repo.clone_url }} | ||
| OVERRIDES: ${{ join( matrix.overrides, ' ') }} | ||
| run: ".github/workflows/root-ci-config/build_root.py | ||
|
Check failure on line 522 in .github/workflows/root-ci.yml
|
||
| --buildtype RelWithDebInfo | ||
| --platform ${{ matrix.image }} | ||
| --platform_config ${{ matrix.platform_config }} | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure about this change: You're saying that the previous line
find_package(LLVM REQUIRED CONFIG)doesn't work at all? It is the officially documented way to find LLVM: https://llvm.org/docs/CMake.html#embedding-llvm-in-your-project Then we are manually checking the version further below.Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's what I am saying/experiencing on Ubuntu 26 root docker image, it does not work at all. If you check the LLVMConfigVersion.cmake file https://github.com/ferdymercury/root/blob/master/interpreter/llvm-project/llvm/cmake/modules/LLVMConfigVersion.cmake.in, it's checking for strict match of major and minor versions. So found version 20.1.8 does not match requested version unspecified.unspecified
It's weird, but they seem to enforce that strict match to be API compatible.
In any case, the solution of adding/specifying major minor when calling find is not too bad, so that we ensure it matches the current builtin llvm.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems it's not a bug but a known "feature": https://stackoverflow.com/questions/66305592/how-to-match-major-version-only-in-cmake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to work for me when specifying the right variables: #22544