chore: Update docs for building Zebra (#8315)

* Update build instructions with scanning enabled

* Remove `pkg-config` from build deps in README

I tried compiling Zebra with `--all-features` on a Linux machine without
`pkg-config` or `pkfgconf` (which is an alternative to `pkg-config`),
and it worked.

* Add `protoc` to build deps in README
This commit is contained in:
Marek 2024-02-23 17:49:53 +01:00 committed by GitHub
parent d1d128ac15
commit c2cfde0749
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 5 deletions

View File

@ -61,8 +61,8 @@ For more information, read our [Docker documentation](https://zebra.zfnd.org/use
### Building Zebra ### Building Zebra
Building Zebra requires [Rust](https://www.rust-lang.org/tools/install), Building Zebra requires [Rust](https://www.rust-lang.org/tools/install),
[libclang](https://clang.llvm.org/doxygen/group__CINDEX.html), [libclang](https://clang.llvm.org/doxygen/group__CINDEX.html), and a C++
[pkg-config](http://pkgconf.org/), and a C++ compiler. compiler.
Zebra is tested with the latest `stable` Rust version. Earlier versions are not Zebra is tested with the latest `stable` Rust version. Earlier versions are not
supported or tested. Any Zebra release can start depending on new features in the supported or tested. Any Zebra release can start depending on new features in the
@ -86,7 +86,14 @@ Below are quick summaries for installing the dependencies on your machine.
package manager. Typical names are `libclang`, `libclang-dev`, `llvm`, or package manager. Typical names are `libclang`, `libclang-dev`, `llvm`, or
`llvm-dev`. `llvm-dev`.
- **clang** or another C++ compiler: `g++` (all platforms) or `Xcode` (macOS). - **clang** or another C++ compiler: `g++` (all platforms) or `Xcode` (macOS).
- **pkg-config** - **[`protoc`](https://grpc.io/docs/protoc-installation/)**
> [!NOTE]
> Zebra uses the `--experimental_allow_proto3_optional` flag with `protoc`
> during compilation. This flag was introduced in [Protocol Buffers
> v3.12.0](https://github.com/protocolbuffers/protobuf/releases/tag/v3.12.0)
> released in May 16, 2020, so make sure you're not using a version of `protoc`
> older than 3.12.
</details> </details>
@ -97,7 +104,7 @@ Below are quick summaries for installing the dependencies on your machine.
</summary> </summary>
```sh ```sh
sudo pacman -S rust clang pkgconf sudo pacman -S rust clang protobuf
``` ```
Note that the package `clang` includes `libclang` as well as the C++ compiler. Note that the package `clang` includes `libclang` as well as the C++ compiler.

View File

@ -15,7 +15,7 @@ keys for experimental use or publicly known keys.
## Build & Install ## Build & Install
Use [Zebra 1.5.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.5.0) Use [Zebra 1.6.0](https://github.com/ZcashFoundation/zebra/releases/tag/v1.6.0)
or greater, or the `main` branch to get the latest features, and enable the or greater, or the `main` branch to get the latest features, and enable the
`shielded-scan` feature during the build. You can also use Rust's `cargo` to `shielded-scan` feature during the build. You can also use Rust's `cargo` to
install the latest release: install the latest release: