-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
LLVM tools are not up to date in windows-latest
image
#10001
Comments
Yes, unfortunately Windows PATH is polluted with everything. We remove standalone installation and use Clang bundled with VS (17.0.3). Simply doing the following will fix your issue: $env:PATH = ($env:PATH -split ';' | Where-Object { $_ -ne 'C:\Program Files\LLVM\bin' }) -join ';' As a side note we also remove I wish the default PATH were clean and things were opt-in instead of polluting it with conflicting binaries. |
#8125 strikes again! The |
HI @mgovers , we have run the workflow with your repro steps , we made some changes for workflow and works fine . Please look into my repro steps .
Kindly revert back if you still facing the same issue , we're happy to assist. |
It appears clang is working fine again on hosted Windows runners. Well done on fixing something in less than 24 hours, trillion dollar corporation! |
@kishorekumar-anchala Does the fix apply to Azure DevOps Windows-2022 agents as well? I'm still seeing the following error.
|
Hi @bdenhollander , Currently clang version from both win 19 and 22 images is 16.x , The latest version is in development mode and it will come to live by next roll out. when coming to your issue , the below workflow may solve it . Try to use it and revert back if you face any issue again. ` on: jobs:
here i create a strategy to cherry pick clang compiler and tried to execute the code . |
The image has 16.x but it also has Clang 17.0.3 from Visual Studio 2022. Based on @Sainan's comment, I thought a fix had been rolled out but perhaps a job ran on an older image that hadn't been updated by the rolling release. |
Maybe I got lucky. Would advise the choco upgrade step to prevent the intermittent breakage every 3 months or so, haha. Edit: Yeah, I did get lucky on 2 runs and wrongly assumed it was fixed. |
Standalone installation of clang/llvm version should be removed from base image. It is duplicating VS installation. If anyone needs it, they can install it with one command. |
LLVM is already included in the Visual Studio installation. This duplication creates conflicts between versions. The current MSVC C++ standard library requires at least Clang 17, while the standalone LLVM is 16. There is no reason to include two different LLVM versions. Use the one from the Visual Studio installation. Should anyone need standalone LLVM, they can install it with a single command: `choco install llvm`. Fixes: actions#10001
In https://github.com/PowerGridModel/power-grid-model/actions/runs/9405944097/job/25908253921?pr=633 you can see you still fails. As @kasper93 mentioned, the issue is likely more fundamental and I expect his PR #10005 to fix the root cause of the issue. |
One side effect is that, you might need to Enter-VsDevShell to access all tools. I don't recall if they are added to PATH by default, but this doesn't change the fact that vendoring two different versions of LLVM is only confusing for everyone involved. |
Hi @mgovers , as @kasper93 mentioned in his PR , we appreciate his investigation and solution , but we request you to follow the below repro step to produce. Image: windows-2022 Please find the below work-around
if issue is still persist , please revert us . |
The
The remove from |
Given that the last Visual Studio upgrade broke in the same way, I’d encourage the GitHub team to think about two things:
Both of these point to structural problems that significantly reduce my trust in this platform. |
Same as the workaround from main servo repo: servo/servo@7640217
I agree. This was the issue when MSVC STL started requiring Clang 16: #8153 Should we be expecting another disruption when the MSVC STL starts requiring Clang 18? |
In the current windows-latest (windows-2022) image, the installed Clang is version 16, but the Visual Studio STL requires Clang version 17 or later. The "Upgrade clang" workaround is recommended in actions/runner-images#10001 (comment).
Use the clang in Visual Studio. Recommended in actions/runner-images#10001 (comment).
Use the clang in Visual Studio. Recommended in actions/runner-images#10001 (comment).
Use the clang in Visual Studio. Recommended in actions/runner-images#10001 (comment).
@mgovers the new version of LLVM 18 has been rolled out in the latest image deployment.Hope your issue resolves.Thank you. |
Thanks for resolving. Does this mean that the solution proposed in #10005 will not be implemented? That means, like @davidchisnall and @remyjette mentioned, this issue will be encountered in the future as well. |
The permanent fix will probably still be adding a |
Description
The latest Windows Server 2022 image with Visual Studio build tools
contain Clang CL version
16.0.6
, but Clang CL version>=17.0.0
is expected for that build tool set.Likely related to #9990
Platforms affected
Runner images affected
Image version and build link
20240603.1.0
example of failing build: https://github.com/PowerGridModel/power-grid-model/actions/runs/9381448994/job/25830720214#step:6:51
Is it regression?
yes,
latest passing image version:
20240514.3.0
example of passing build: https://github.com/PowerGridModel/power-grid-model/actions/runs/9380566997/job/25827885168#step:6:51
Expected behavior
static_assert
checks.Actual behavior
static_assert
that checks that the Clang version>= 17.0.0
Repro steps
windows-latest
clang-cl
The text was updated successfully, but these errors were encountered: