Closed andygrove closed 2 years ago
Yes, protoc no longer bundles protoc binaries and instead uses the system versions if available, or builds from source if not - see https://github.com/tokio-rs/prost/pull/610
Unfortunately the arrow-flight specification is using the somewhat new explicit presence feature of protobuf, and this will cause issues if compiling with an older version of protoc which doesn't support it.
Perhaps we could check the version of the protoc binary and return a more helpful error message if it is too old 🤔
Building protobuf from source solved this problem for me, I had to also uninstall the ubuntu package protobuf-compiler
.
FWIW I believe if you uninstall protobuf-compiler
and have cmake
installed, prost will automatically compile the protobuf-compiler
from source.
I think we have concluded this is not a bug but a "feature" of newer versions of prost
The issue seems still happen today on my AWS Ubuntu 20.04 machine.
FWIW I believe if you uninstall protobuf-compiler and have cmake installed, prost will automatically compile the protobuf-compiler from source.
Seems like simply uninstall the old protobuf-compiler does not work. I need manually install the newest one globally. Following https://github.com/hyperium/tonic/issues/1047 solved my issue. Probably some instructions can be added to contributing guide to smooth future ramp ups.
Thanks for the report @XinyuZeng -- if you can contribute such an improvement that would be great ❤️
Describe the bug
I get an error when running
cargo test
. This is apparently due to a recent upgrade to prost and likely related to having an old protoc installed (I am usinglibprotoc 3.11.4
). I am filing this issue to help others that hit the same problem.To Reproduce Run
cargo test
Expected behavior Should not fail.
Additional context Add any other context about the problem here.