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 am running into the following error message when I have the Python package protobuf==5.29-rc3 (currently latest) installed:
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/substrait_validator/__init__.py:20: in <module>
from .substrait.plan_pb2 import Plan
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/substrait_validator/substrait/plan_pb2.py:12: in <module>
_runtime_version.ValidateProtobufRuntimeVersion(
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/google/protobuf/runtime_version.py:1[20](https://github.com/substrait-io/consumer-testing/actions/runs/12048447592/job/33593087186?pr=132#step:5:21): in ValidateProtobufRuntimeVersion
_ReportVersionError(
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/google/protobuf/runtime_version.py:50: in _ReportVersionError
raise VersionError(msg)
E google.protobuf.runtime_version.VersionError: Detected mismatched Protobuf Gencode/Runtime version suffixes when loading substrait/plan.proto: gencode 5.28.3 runtime 5.29.0-rc3. Version suffixes must be the same. See Protobuf version guarantees at https://protobuf.dev/support/cross-version-runtime-guarantee.
I haven't understood all of the details but it sounds like you can't compile protobufs with one version of the compiler and then use a runtime with a different version (see docs). My preliminary conclusion is that this means that every project using protobufs needs to ship its own version of the runtime. If that is true, that would have to be done for this project as well.
Note that I can temporarily work around the problem above by installing protobuf==5.28.3; however, if my Python environment contains two Python packages that use two different versions of the Protobuf compiler, then there is no version of the protobuf package that satisfies both of their requirements.
The text was updated successfully, but these errors were encountered:
That fits a figure I vaguely remember from the protobuf docs. But shouldn't the validator then say in its dependencies that it requires a version of protobuf less or equal the one it is compiled with?
I am running into the following error message when I have the Python package
protobuf==5.29-rc3
(currently latest) installed:I haven't understood all of the details but it sounds like you can't compile protobufs with one version of the compiler and then use a runtime with a different version (see docs). My preliminary conclusion is that this means that every project using protobufs needs to ship its own version of the runtime. If that is true, that would have to be done for this project as well.
Note that I can temporarily work around the problem above by installing
protobuf==5.28.3
; however, if my Python environment contains two Python packages that use two different versions of the Protobuf compiler, then there is no version of theprotobuf
package that satisfies both of their requirements.The text was updated successfully, but these errors were encountered: