2020-08-06 15:39:54 -07:00
|
|
|
# Installing Zebra
|
|
|
|
|
2022-10-20 18:20:28 -07:00
|
|
|
Follow the [Docker or compilation instructions in the README](https://github.com/ZcashFoundation/zebra#getting-started).
|
2021-10-29 12:25:30 -07:00
|
|
|
|
2023-05-23 06:18:57 -07:00
|
|
|
#### ARM
|
|
|
|
|
|
|
|
If you're using an ARM machine, [install the Rust compiler for
|
|
|
|
ARM](https://rust-lang.github.io/rustup/installation/other.html). If you build
|
|
|
|
using the x86_64 tools, Zebra might run really slowly.
|
|
|
|
|
2021-10-29 12:25:30 -07:00
|
|
|
#### Build Troubleshooting
|
|
|
|
|
|
|
|
If you're having trouble with:
|
2022-03-08 01:14:03 -08:00
|
|
|
|
|
|
|
Dependencies:
|
2022-08-31 15:00:46 -07:00
|
|
|
|
2022-03-08 01:14:03 -08:00
|
|
|
- use `cargo install` without `--locked` to build with the latest versions of each dependency
|
|
|
|
- **sqlite linker errors:** libsqlite3 is an optional dependency of the `zebra-network/tor` feature.
|
|
|
|
If you don't have it installed, you might see errors like `note: /usr/bin/ld: cannot find -lsqlite3`.
|
|
|
|
[Follow the arti instructions](https://gitlab.torproject.org/tpo/core/arti/-/blob/main/CONTRIBUTING.md#setting-up-your-development-environment)
|
|
|
|
to install libsqlite3, or use one of these commands instead:
|
2022-08-31 15:00:46 -07:00
|
|
|
|
2022-03-08 01:14:03 -08:00
|
|
|
```sh
|
|
|
|
cargo build
|
|
|
|
cargo build -p zebrad --all-features
|
|
|
|
```
|
|
|
|
|
|
|
|
Compilers:
|
2022-08-31 15:00:46 -07:00
|
|
|
|
2022-03-08 01:14:03 -08:00
|
|
|
- **clang:** install both `libclang` and `clang` - they are usually different packages
|
2021-10-29 12:25:30 -07:00
|
|
|
- **libclang:** check out the [clang-sys documentation](https://github.com/KyleMayes/clang-sys#dependencies)
|
|
|
|
- **g++ or MSVC++:** try using clang or Xcode instead
|
2023-01-09 19:48:03 -08:00
|
|
|
- **rustc:** use rustc 1.65 or later
|
|
|
|
- Zebra does not have a minimum supported Rust version (MSRV) policy: any release can update the required Rust version.
|
2021-10-29 12:25:30 -07:00
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
|
|
Zebra primarily depends on pure Rust crates, and some Rust/C++ crates:
|
2022-08-31 15:00:46 -07:00
|
|
|
|
2021-10-29 12:25:30 -07:00
|
|
|
- [rocksdb](https://crates.io/crates/rocksdb)
|
|
|
|
- [zcash_script](https://crates.io/crates/zcash_script)
|
|
|
|
|
|
|
|
They will be automatically built along with `zebrad`.
|