doc(network): explain optional zebra-network/tor dependencies (#3765)

* doc(network): explain optional zebra-network/tor dependencies

* cleanup(doc): remove an extra newline
This commit is contained in:
teor 2022-03-08 19:14:03 +10:00 committed by GitHub
parent f1123e0386
commit 818cb2cdeb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 4 deletions

View File

@ -18,14 +18,26 @@ that there is a lot of key functionality still missing.
#### Build Troubleshooting
If you're having trouble with:
- **dependencies:**
- install both `libclang` and `clang` - they are usually different packages
- use `cargo install` without `--locked` to build with the latest versions of each dependency
Dependencies:
- 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:
```sh
cargo build
cargo build -p zebrad --all-features
```
Compilers:
- **clang:** install both `libclang` and `clang` - they are usually different packages
- **libclang:** check out the [clang-sys documentation](https://github.com/KyleMayes/clang-sys#dependencies)
- **g++ or MSVC++:** try using clang or Xcode instead
- **rustc:** use rustc 1.48 or later
- **rustc:** use rustc 1.58 or later
- Zebra does not have a minimum supported Rust version (MSRV) policy yet
### Dependencies
Zebra primarily depends on pure Rust crates, and some Rust/C++ crates: