GreptimeTeam / greptimedb

An open-source, cloud-native, unified time series database for metrics, logs and events with SQL/PromQL supported. Available on GreptimeCloud.
https://greptime.com/
Apache License 2.0
4.19k stars 299 forks source link

compile proto error:kind: NotFound, error: "Could not find `protoc` #4419

Closed sunheyi6 closed 1 month ago

sunheyi6 commented 1 month ago

What type of bug is this?

Crash

What subsystems are affected?

Other

Minimal reproduce step

cargo build or cargo clippy --workspace --all-targets -- -D warnings

What did you expect to see?

no error

What did you see instead?

no

What operating system did you use?

Windows 11 x64

What version of GreptimeDB did you use?

main

Relevant log output and stack trace

No response

WenyXu commented 1 month ago

Plese follow the document to install the protoc

sunheyi6 commented 1 month ago

Plese follow the document to install the protoc

error: failed to run custom build command for greptime-proto v0.1.0 (https://github.com/GreptimeTeam/greptime-proto.git?rev=5c801650435d464891114502539b701c77a1b914#5c801650) this 5c801650435d464891114502539b701c77a1b914 is not exist,the 0.1.0 url shoud be https://github.com/GreptimeTeam/greptime-proto/commit/6be01fbc814ad560687e72de65757c0c9fb0f0ac

tisonkun commented 1 month ago

https://github.com/GreptimeTeam/greptime-proto/commit/5c801650435d464891114502539b701c77a1b914

This commit exists.

WenyXu commented 1 month ago

Plese follow the document to install the protoc

error: failed to run custom build command for greptime-proto v0.1.0 (https://github.com/GreptimeTeam/greptime-proto.git?rev=5c801650435d464891114502539b701c77a1b914#5c801650) this 5c801650435d464891114502539b701c77a1b914 is not exist,the 0.1.0 url shoud be GreptimeTeam/greptime-proto@6be01fb

it seem that the custom build command for greptime-proto is not working. Would you like to provide more detailed error info?

sunheyi6 commented 1 month ago

I don't know how to provide more information, this seems to be the problem when running, and it doesn't occur when I change it to this https://github.com/GreptimeTeam/greptime-proto/commit/6be01fbc814ad560687e72de65757c0c9fb0f0ac image

I guess only release and tags versions can be executed

evenyag commented 1 month ago

Try executing cargo check --workspace in your terminal directly.

sunheyi6 commented 1 month ago

cargo check --workspace

error: failed to run custom build command for `greptime-proto v0.1.0 (https://github.com/GreptimeTeam/greptime-proto.git?rev=5c801650435d464891114502539b701c77a1b914#5c801650)`

Caused by:
  process didn't exit successfully: `D:\rust\greptimedb\target\debug\build\greptime-proto-361698bb2834d73e\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-changed=proto/greptime/v1/database.proto
  cargo:rerun-if-changed=proto/greptime/v1/health.proto
  cargo:rerun-if-changed=proto/greptime/v1/wal.proto
  cargo:rerun-if-changed=proto/greptime/v1/meta/common.proto
  cargo:rerun-if-changed=proto/greptime/v1/meta/heartbeat.proto
  cargo:rerun-if-changed=proto/greptime/v1/meta/route.proto
  cargo:rerun-if-changed=proto/greptime/v1/meta/ddl.proto
  cargo:rerun-if-changed=proto/greptime/v1/meta/region.proto
  cargo:rerun-if-changed=proto/greptime/v1/meta/store.proto
  cargo:rerun-if-changed=proto/greptime/v1/meta/lock.proto
  cargo:rerun-if-changed=proto/greptime/v1/meta/cluster.proto
  cargo:rerun-if-changed=proto/greptime/v1/meta/procedure.proto
  cargo:rerun-if-changed=proto/greptime/v1/region/server.proto
  cargo:rerun-if-changed=proto/greptime/v1/flow/server.proto
  cargo:rerun-if-changed=proto/greptime/v1/index/inverted_index.proto
  cargo:rerun-if-changed=proto/prometheus/remote/remote.proto
  cargo:rerun-if-changed=proto/substrait_extension/promql_plan.proto
  cargo:rerun-if-changed=proto/substrait_extension/dist_plan.proto
  cargo:rerun-if-changed=proto

  --- stderr
  thread 'main' panicked at D:\rust\rust\.cargo\bin\git\checkouts\greptime-proto-0d706cb4f2875a52\5c80165\build.rs:56:10:
  compile proto: Custom { kind: NotFound, error: "Could not find `protoc`. If `protoc` is installed, try setting the `PROTOC` envi
ronment variable to the path of the `protoc` binary. Try installing `protobuf-compiler` or `protobuf` using your package manager. 
It is also available at https://github.com/protocolbuffers/protobuf/releases  For more information: https://docs.rs/prost-build/#sourcing-protoc" }
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: failed to run custom build command for `etcd-client v0.13.0`                                                               

Caused by:
  process didn't exit successfully: `D:\rust\greptimedb\target\debug\build\etcd-client-03e061660e8c3834\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-changed=proto
  cargo:rerun-if-changed=proto/auth.proto
  cargo:rerun-if-changed=proto/kv.proto
  cargo:rerun-if-changed=proto/rpc.proto
  cargo:rerun-if-changed=proto/v3election.proto
  cargo:rerun-if-changed=proto/v3lock.proto
  cargo:rerun-if-changed=proto

  --- stderr
  thread 'main' panicked at D:\rust\rust\.cargo\bin\registry\src\index.crates.io-6f17d22bba15001f\etcd-client-0.13.0\build.rs:17:10:
  Failed to compile proto files: Custom { kind: NotFound, error: "Could not find `protoc`. If `protoc` is installed, try setting t
he `PROTOC` environment variable to the path of the `protoc` binary. Try installing `protobuf-compiler` or `protobuf` using your p
ackage manager. It is also available at https://github.com/protocolbuffers/protobuf/releases  For more information: https://docs.rs/prost-build/#sourcing-protoc" }
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
WenyXu commented 1 month ago

compile proto: Custom { kind: NotFound, error: "Could not find protoc. If protoc is installed, try setting the PROTOC envi ronment variable to the path of the protoc binary. Try installing protobuf-compiler or protobuf using your package manager. It is also available at https://github.com/protocolbuffers/protobuf/releases

Plese follow the document to install the protoc

sunheyi6 commented 1 month ago

OK, it's done. What's strange is that I have installed protoc, and I can check the corresponding version by using win+r cmd, but I can't see the same result when I execute the same command in IDEA. At the same time, I continue to execute cargo check --workspace, which is normal in cmd, but the above error is reported in IDEA. I think it's because protoc cannot be recognized in IDEA.

Thank you very much!