---
# System prepended metadata

title: pre-requisites

---

# pre-requisites

```bash!
git clone -b feature/develop_rust_sm https://github.com/0xPolygonHermez/zkevm-prover
git clone https://github.com/0xPolygonHermez/pil2-proofman
git clone https://github.com/0xPolygonHermez/zkevm-prover-rust
```

Compile zkEVM C++ lib
```bash!
cd zkevm-prover
git submodule init
git submodule update --init
cd src/goldilocks
git checkout avx_operations
cd ../..
make -j generate
make -j zkevm_lib && make -j starks_lib
```

Compile zkEVM prover Rust:
```bash!
cd ../zkevm-prover-rust
cargo build --release
```

Generate a proof:
```bash!
cd ../zkevm-prover
../zkevm-prover-rust/target/release/zkevm  --config config/test_proofman/simple.config.json --output proof.json
```

## [Draft] Proofman toolchain
Generate a boilerplate project to strat to code:

```bash!
cargo run --bin proofman-cli new ../fib-vadcops --pilout examples/fibv/data/fibv.pilout
``


## [Draft] Instructions to compile the project using macOS

### Dependencies
You should have installed gcc, cmake, libsodium, and gmp (development)

On MacOS:
```
brew install cmake gmp libsodium nasm
brew install llvm
brew install libomp
./build_gmp.sh macos_arm64
```
