Closed Spferical closed 3 years ago
I have been thinking about dropping the dependency on protobuf-build to fix cyclic dependency permanently, though it may break a lot of things and be a pain for dependent of grpcio-proto to compile with protobuf-codec and prost-codec with same sources.
To work around the problem for now, I can patch the macros to 0.8.0.
Thank you! Could you please cherry-pick the patch to 0.7.x as well?
Now 0.7.2 and 0.8.3 are published to work with new compiler.
Describe the bug
grpcio-proto
0.8 brings inprotobuf-build
.protobuf-build
versions 12.1+ depend ongrpcio-compiler>=0.8.0
, which as of today brings ingrpcio-compiler
0.9.0, which causes the build to fail when buildinggrpc-proto
0.8 as a dependency.grpcio-proto
0.7 (and maybe older versions) has the same issue, becauseprotobuf-build
0.11.4 brings ingrpcio-compiler>=0.5.0
.This can be worked around with cargo patches, but it is a bit painful to do so.
To Reproduce Steps to reproduce the behavior:
grpcio-proto = "0.8"
to the dependencies array in itsCargo.toml
.cargo check
Expected behavior Old versions of
grpcio-protobuf
should continue to build as dependencies without cargo-patching inner dependencies when a new version is released. Unfortunately, I think this can only be done by yankinggrpcio-compiler
0.9.0 and/or releasing a version of it that works with oldgrpcio-proto
versions.Alternatively, new patch releases of
protobuf-build
and/or old versions ofgrpcio-proto
to fix the issue might help, but I haven't fully thought through how that would need to work -- I understand there's a cyclic dependency the>=
dependency fixes (at the cost of breaking old versions' builds).System information
Additional context