poulpyFully homomorphic encryption
GitHub Get started
Menu

Get an example running.

Resolve common toolchain, backend, parameter, and documentation issues.

For application developers · Source guide · 2394fa5

Build and toolchain problems

SymptomCheckNext action
Missing compiler, linker, or native headersGit, rustup, and native build tools are installedFollow the platform prerequisites in Quickstart; include the first compiler error when asking for help
An unstable Rust feature is unavailableThe command is running under the pinned nightlyRun from the checkout or downloaded example directory so rustup reads rust-toolchain.toml
Cargo wants to change the lockfileManifest and lockfile come from the same revisionRestore a matching download or checkout; do not remove --locked to hide a version mismatch
A guide names a missing typeSource and published versions differCheck Versions and generate local rustdoc

Backend problems

Backend requirements depend on the target hardware. For the x86 CPU backends, enable both the Cargo feature and the required CPU instructions. Read Backends for the exact combination. Start with the portable backend to separate application problems from hardware configuration. For reproducible performance measurements, compile in release mode and record the flags.

Incorrect results or parameter errors

Check the input range, slot count, encoding scale, destination width, and required evaluation keys. Record the metadata before and after each operation. A negative or exhausted budget, mismatched key shape, or insufficient accumulator capacity needs a parameter or circuit correction.

The parameter guide explains what to record. Increasing a modulus to fix correctness also changes the security analysis; review the full configuration.

A useful bug report

Include the source revision, Rust version, OS, hardware and relevant device runtime/driver versions, backend and feature flags, exact command, first error, and a minimal public reproducer. Use synthetic inputs and newly generated test keys rather than application secrets. Report vulnerabilities through the private contact on Security; use GitHub issues for ordinary questions.