ceramicnetwork / rust-ceramic

Implementation of the Ceramic protocol in Rust
Other
37 stars 10 forks source link

BUG: Cargo build fails on feat/private-data #465

Open elmariachi111 opened 3 months ago

elmariachi111 commented 3 months ago

Describe the bug

can't build ceramic-one on feat/private-data (follow https://blog.ceramic.network/private-data-guide/) on a blank machine.

To Reproduce

git clone https://github.com/ceramicnetwork/rust-ceramic && cd rust-ceramic && git fetch
git checkout feat/private-data
cargo run -p ceramic-one -- daemon

-->

...
 Compiling num_enum v0.5.11
   Compiling sqlx-macros-core v0.7.4
   Compiling flume v0.10.14
   Compiling iroh-car v0.29.0 (/Users/stadolf/work/rust-ceramic/beetle/iroh-car)
error: failed to run custom build command for `iroh-bitswap v0.29.0 (/Users/stadolf/work/rust-ceramic/beetle/iroh-bitswap)`

Caused by:
  process didn't exit successfully: `/Users/stadolf/work/rust-ceramic/target/debug/build/iroh-bitswap-e964f9fd6da22ebf/build-script-build` (exit status: 101)
  --- stderr

thread 'main' panicked at /Users/stadolf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/prost-build-0.11.9/src/lib.rs:1457:10:
  Could not find `protoc` installation and this build crate cannot proceed without
      this knowledge. If `protoc` is installed and this crate had trouble finding
      it, you can set the `PROTOC` environment variable with the specific path to your
      installed `protoc` binary.

Ceramic versions one / feat/private-data

Machine, OS, browser information (please complete the following information): OSX Sonoma 14.6,rustup 1.27.1 (54dd3d00f 2024-04-24), rustc 1.80.0 (051478957 2024-07-21)

elmariachi111 commented 3 months ago

Can be fixed by

brew install protobuf

should be part of docs (or ideally somehow part of the build 🤔 )

oed commented 3 months ago

@elmariachi111 It's documented here: https://github.com/ceramicnetwork/rust-ceramic?tab=readme-ov-file#linux---from-source

Is there somewhere else you would expect to see this info?

elmariachi111 commented 3 months ago

stumbled about it when following this: https://blog.ceramic.network/private-data-guide/?ref=the-ceramic-blog-newsletter :)

mzkrasner commented 3 months ago

Hi @elmariachi111 - appreciate you bringing this to our attention.

We've added these instructions into two places: https://github.com/ceramicstudio/private-data-playground/pull/8

and the article you mentioned: https://blog.ceramic.network/private-data-guide/