-
-
Notifications
You must be signed in to change notification settings - Fork 395
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
Fix library error for Github Actions for Clang C++20 #784
Conversation
Review changes with SemanticDiff |
772db03
into
ETLCPP:pull-request/#784-Fix-library-error-for-Github-Actions-for-Clang-C++20
Unfortunately the changes cause clang compilation to fail on my local CI scripts.
|
Sorry, I wouldn't know how to resolve that. From a quick research it seems that this error message may be a symptom for anything else (i.e. qcoro/qcoro#22 (comment)). |
If I comment out the line I'm running |
Somehow, without that line it does not work on the GitHub runner. I guess this is related to to workaround you applied in 95c7f44#diff-24e820d109223f3d266ca9b6edc626ef33158ab4140adec4c207b7e15bbbbc33R20-R25 and #777 (comment) respectively actions/runner-images#8659. Would it help if you would update your local clang to version 17? At least that seams to be the workaround applied for the runner... |
I was hoping that Github would sort the issue out very soon, so that workarounds wouldn't have to be applied. Unfortunately clang-17 doesn't seem to be available for Ubuntu 22.04 ( |
After a web search I tried adding |
Would it be possible to apply the same manual installation commands as in the workaround: 95c7f44#diff-24e820d109223f3d266ca9b6edc626ef33158ab4140adec4c207b7e15bbbbc33R20-R25
That is essentially to download a script which can be used to install a selectable clang version.
The runner also uses Ubuntu 22.04. Thus those steps should be applicable to your local environment as well.
I am not a Linux expert either. I am just hoping the steps applied in the GitHub Action should work for your local setting as well, especially as it is based on the same operating system. 🤞
|
It looks like the Github Actions is using Clang 14, whilst I am using Clang 15. |
But the script .github/workflows/clang.yml installs clang v17 isn't it?
wget https://apt.llvm.org/llvm.sh
chmod +x ./llvm.sh
sudo ./llvm.sh 17
|
"But the script .github/workflows/clang.yml installs clang v17 isn't it?" The fix didn't work. The compiler was not updated. clang identified as v14, |
🤔 I have been checking the build logs. 221cc42 has been used by the GitHub Actions. That commit does contain the temporary fix. The run for Clang C++20 Linux - STL (ubuntu-22.04) did fail. After a presumably successful installation of clang 17, the compiler called by the build process identifies itself as clang 14. I think a step in the installation process is missing. Or the workflow should instruct to use that specific clang version. This has been mentioned in actions/runner-images#8659 (comment) I can not reproduce the exact workaround on my machine as my Ubuntu version is outdated. But maybe you can try this for your local installation: After the manual installation of clang 17 (using - export CC=clang
- export CXX=clang++
+ export CC=clang-17
+ export CXX=clang++-17 Or select the default version to be used on your machine: sudo update-alternatives --config clang
sudo update-alternatives --config clang++ It would be good if both, the hosted workflows and your local installation would be running without errors. A workaround for the GitHub Action would be to remove GCC13 (like sourcemeta/jsontoolkit@caa66fb) or to use a different runner like actions/runner-images#8659 (comment). |
I observed that the GitHub Actions fail. Through analysis since which commit the build fails, I to applied a fix to make the workflow running successfully again.
I am not sure why this fixes the workflow. 🤷 I merely re-applied f208eb4. I think that change accidentally got lost in the merge 95c7f44.