tikv / grpc-rs

The gRPC library for Rust built on C Core library and futures
Apache License 2.0
1.81k stars 253 forks source link

grpc-sys: Fix build failure on uncommon linux build targets #644

Open harryoooooooooo opened 10 months ago

harryoooooooooo commented 10 months ago

Hi owners, I'm Hsin-chen from Google. Recently we stepped into a build failure in our product, below is the failure reason.

After some investigation I believe the culprit is around the config_binding_path function: Our build target is not listed as a supported platform but the bindings are not generated either because our target_os is linux. Eventually we're only able to build with feature = "_gen-bindings".

I've attached a possible fix. Could you please help take a look? Thanks!

floss-9999: error: couldn't read /build/brya/var/cache/portage/net-wireless/floss/cros-rust/x86_64-cros-linux-gnu/release/build/grpcio-sys-947c4c4fa7b189ac/out/grpc-bindings.rs: No such file or directory (os error 2)
floss-9999:  --> [REGISTRY]/grpcio-sys-0.13.0+1.56.2-patched/src/lib.rs:8:5
floss-9999:   |
floss-9999: 8 |     include!(env!("BINDING_PATH"));
floss-9999:   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
floss-9999:   |
floss-9999:   = note: this error originates in the macro `include` (in Nightly builds, run with -Z macro-backtrace for more info)
floss-9999:
floss-9999: error: could not compile `grpcio-sys` (lib) due to previous error