You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I realize that using -Dprotobuf_ABSL_PROVIDER="package" (much less with shared abseil) is not the most common scenario, but it's very important in our distribution which serves many thousands of users (e.g. the most recent libprotobuf build has >160k downloads in the last two weeks).
And for the purposes of a distribution, where the builds of protobuf will themselves again be built against by other libraries (sometimes with different build systems), it's good to have accurate pkg-config data.
However, protobuf currently generates incorrect metadata in the above-mentioned scenario, mainly because shared abseil does something weird on windows, which is to stick everything into one abseil_dll.dll, thus breaking the absl_foo pattern. The end result is that the pkg-config file contains
Requires: absl_abseil_dll ...
which then results in something like:
Package absl_abseil_dll was not found in the pkg-config search path.
What version of protobuf and what language are you using?
Version: v25.1 / v25.2
Language: C++
What operating system (Linux, Windows, ...) and version?
Windows
What runtime / compiler are you using (e.g., python version or gcc version)
VS2019 (16.11 / 14.29.30139)
What did you do?
Steps to reproduce the behavior:
Run conda-forge recipe, which mainly does:
I realize that using
-Dprotobuf_ABSL_PROVIDER="package"
(much less with shared abseil) is not the most common scenario, but it's very important in our distribution which serves many thousands of users (e.g. the most recent libprotobuf build has >160k downloads in the last two weeks).And for the purposes of a distribution, where the builds of protobuf will themselves again be built against by other libraries (sometimes with different build systems), it's good to have accurate pkg-config data.
However, protobuf currently generates incorrect metadata in the above-mentioned scenario, mainly because shared abseil does something weird on windows, which is to stick everything into one
abseil_dll.dll
, thus breaking theabsl_foo
pattern. The end result is that the pkg-config file containswhich then results in something like:
What version of protobuf and what language are you using?
Version: v25.1 / v25.2
Language: C++
What operating system (Linux, Windows, ...) and version?
Windows
What runtime / compiler are you using (e.g., python version or gcc version)
VS2019 (16.11 / 14.29.30139)
What did you do?
Steps to reproduce the behavior:
Run conda-forge recipe, which mainly does:
What did you expect to see
Correct pkg-config metadata
What did you see instead?
content of installed
protobuf.pc
(similar forprotobuf-lite.pc
):Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
Anything else we should know about your project / environment
The text was updated successfully, but these errors were encountered: