-
-
Notifications
You must be signed in to change notification settings - Fork 509
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
Dual libprotobuf
pin
#4068
Comments
can you confirm that these upper bounds are intentional given the new versionning scheme from libprotobuf? The alternative seems to be to loosen them. |
So far (up until the most current 21.12 == 3.21.12 == 4.21.12), only the python bindings had v4, see here. C++ never needed v4 so far, so up until now, a v4 for libprotobuf makes no sense. It's possible that other packages are confused by the new protobuf versioning scheme. The upcoming 22.0 == 3.22.0 == 4.22.0 will also bump the C++ major number, however, I don't expect things to work much different than before, and I don't think it's necessarily a great idea to build for two protobuf versions (given it's relatively widespread), unless we expect the API changes to take a while to digest, but overall the breaking changes don't look too unusual (mostly meta-level like now depending on abseil or reserving C++20 keywords). |
Yes, they are intentional according to the upstream maintainers. I haven't looked into the breakages but I saw responses from maintainers saying that there is worked needed to support the new version. |
Understood. I am mostly weary about the tensorflow builds that need to be done manually. |
From the last ~2 years of experience, one can pretty safely ignore what bounds people set on protobuf. Most of the time it's to deal with their distribution on PyPI, not having tested it yet, etc. Protobuf keeps its API very stable, so once things are recompiled, we should be good. I prefer to make doubly sure by running the respective test suite in our CI, and once that passes, I have no qualms to overrule some upstream protobuf pins/caps. |
Comment:
I have several environments that don't resolve with newer versions anymore because our
libprotobuf
pin is only supporting theprotobuf>=4
Python package. This causes several headaches for me astritonclint-grpc
(can be changed with the next release to<4
) orstreamlit
have a pin for<4
. These are only two possible examples and it seems that many other packages are still onprotobuf=3
. This is not a problem in the Wheel world as there everyone ships a static protobuf build.Thus I would suggest to have two
libprotobuf
versions in our global pinning until the end of July 2023 (we need a point where we can drop it again, and half year's time from now seems reasonable).cc @conda-forge/libprotobuf @conda-forge/core
The text was updated successfully, but these errors were encountered: