daipom opened a new issue, #2956: URL: https://github.com/apache/arrow-adbc/issues/2956
### What feature or improvement would you like to see? # Current https://github.com/apache/arrow-adbc/blob/c08fdfca8e99ff86decd00f2936c14c71c25fcf1/rust/README.md#L33-L41 # Issue It would be helpful to have a note saying that a recent version of `protobuf` is required. Without installing `protobuf`, the build fails as follows. ```console $ cargo test ... Compiling datafusion-common v47.0.0 error: failed to run custom build command for `substrait v0.55.1` Caused by: process didn't exit successfully: `/home/daipom/work/apache-arrow/arrow-adbc/rust/target/debug/build/substrait-0a2276d408d79f0a/build-script-build` (exit status: 1) --- stdout cargo:rerun-if-env-changed=FORCE_REBUILD cargo:rerun-if-changed=substrait cargo:rerun-if-changed=substrait/text/simple_extensions_schema.yaml cargo:rerun-if-changed=substrait/proto/substrait/plan.proto cargo:rerun-if-changed=substrait/proto/substrait/type_expressions.proto cargo:rerun-if-changed=substrait/proto/substrait/extended_expression.proto cargo:rerun-if-changed=substrait/proto/substrait/algebra.proto cargo:rerun-if-changed=substrait/proto/substrait/function.proto cargo:rerun-if-changed=substrait/proto/substrait/capabilities.proto cargo:rerun-if-changed=substrait/proto/substrait/extensions/extensions.proto cargo:rerun-if-changed=substrait/proto/substrait/type.proto cargo:rerun-if-changed=substrait/proto/substrait/parameterized_types.proto --- stderr Error: Custom { kind: NotFound, error: "Could not find `protoc`. If `protoc` is installed, try setting the `PROTOC` environment variable to the path of the `protoc` binary. To install it on Debian, run `apt-get install protobuf-compiler`. It is also available at https://github.com/protocolbuffers/protobuf/releases For more information: https://docs.rs/prost-build/#sourcing-protoc" } ``` In addition, if you install `protobuf-compiler` by `apt` as described in this error message, a very old version of `protoc` is installed, and the build eventually fails. ```console $ cargo test ... Compiling substrait v0.55.1 error: failed to run custom build command for `substrait v0.55.1` Caused by: process didn't exit successfully: `/home/daipom/work/apache-arrow/arrow-adbc/rust/target/debug/build/substrait-0a2276d408d79f0a/build-script-build` (exit status: 1) --- stdout cargo:rerun-if-env-changed=FORCE_REBUILD cargo:rerun-if-changed=substrait cargo:rerun-if-changed=substrait/text/simple_extensions_schema.yaml cargo:rerun-if-changed=substrait/proto/substrait/plan.proto cargo:rerun-if-changed=substrait/proto/substrait/type_expressions.proto cargo:rerun-if-changed=substrait/proto/substrait/extended_expression.proto cargo:rerun-if-changed=substrait/proto/substrait/algebra.proto cargo:rerun-if-changed=substrait/proto/substrait/function.proto cargo:rerun-if-changed=substrait/proto/substrait/capabilities.proto cargo:rerun-if-changed=substrait/proto/substrait/extensions/extensions.proto cargo:rerun-if-changed=substrait/proto/substrait/type.proto cargo:rerun-if-changed=substrait/proto/substrait/parameterized_types.proto --- stderr Error: Custom { kind: Other, error: "protoc failed: substrait/algebra.proto: This file contains proto3 optional fields, but --experimental_allow_proto3_optional was not set.\n" } ``` # Improve Add the following steps: * Download a recent version of `protobuf` from the release page and add `protoc` to the PATH. ref: * https://github.com/protocolbuffers/protobuf?tab=readme-ov-file#protobuf-compiler-installation * https://github.com/apache/arrow-adbc/blob/c08fdfca8e99ff86decd00f2936c14c71c25fcf1/.github/workflows/rust.yml#L74-L85 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
