lance-format / lance-format/lance
Remove `protoc` requirement
Open
Nobody has claimed this yet.
good first issue
- Dominant language
- Rust
- Stars
- 7.1k
- Forks
- 852
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 272
Description
Trying to add lance as a dependency currently results in a build error:
error: failed to run custom build command for `lance-encoding v0.18.2`
Caused by:
process didn't exit successfully: `lance-encoding-b1cb34df4c6a6aa9/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-changed=protos
--- 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" }
You should instead check in the generated code, and include it in the crate. The build.rs should do nothing (or ideally, not exist).
I would consider this issue done when cargo build -p lance works WITHOUT having protoc already on PATH
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the lance-encoding build.rs and inspect the protos input and current generated-code flow. Run cargo build -p lance in an environment without protoc, then verify the build succeeds without that executable available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100