Fix build break in protobuf by pinning to older version in our local vcpkg port file#235
Conversation
Codecov Report
@@ Coverage Diff @@
## master #235 +/- ##
=======================================
Coverage 94.22% 94.22%
=======================================
Files 115 115
Lines 3882 3882
=======================================
Hits 3658 3658
Misses 224 224 |
pyohannes
left a comment
There was a problem hiding this comment.
Thanks for providing this fix!
|
@reyang @pyohannes - I fixed the issue, but there's totally unrelated |
That's a Circle CI tests, I think we should get rid of those anyway. Maybe it's just some flakiness? All the GitHub Actions test pass, so I think this is good to go. |
Let me rerun it. I think I saw that on other commits too. |
|
@pyohannes @reyang - I wanted to write-up a separate doc on this, but basically - one observation I captured in my repo, and added in this commit: If we build OpenTelemetry SDK for Windows with Visual Studio 2019 with exceptions enabled, then in order for that to be compatible with other projects built using Visual Studio 2015 or 2017, the build MUST use |
…install-winget-digest chore(deps): update cyberboss/install-winget digest to d1b590c
Our current CI loop
CI / CMake -> exporter protois broken due to mainline vcpkg issue.Solution is to save local copies of vcpkg port files in our repo. That way if mainline vcpkg breaks something in those packages, we're not affected.
Also adding port file for Google Benchmark to be compatible with both vs2017 and vs2019 compilers. So that one library built once can be shared between the two different compilers. Without that patch it is impossible to reuse the library across two different compilers: since vs2019 introduces some new exception handling function that is not available in older runtime - if you build Google Bechmark from vcpkg with vs2019, then try that prebuilt - it is not gonna link in vs2017! This is yet another "LOL" at ABI compat requirement, showing that not everything is controlled by stable class definition. Something we have to keep in mind -- the build flag for that "backwards-compat" mode in vs2019 is
/d2FH4-. Described here:https://devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64/
I added it to
ci/ports/benchmark/portfile.cmake-Alternate solution: we could start using
.gitmodulesand pin to older version of the mainline vcpkg repo that did not have this issue.