fabaccess-bffh/INSTALL.md
2024-11-20 12:29:45 +00:00

2.0 KiB

Installation

Currently there are no distribution packages available. However installation is reasonably straight-forward, since Diflouroborane compiles into a single mostly static binary with few dependencies.

At the moment only Linux is supported. If you managed to compile Diflouroborane please open an issue outlining your steps or add a merge request expanding this part. Thanks!

Requirements

General requirements; scroll down for distribution-specific instructions

  • GNU SASL (libgsasl).
    • If you want to compile Diflouroborane from source you will potentially also need development headers
  • capnproto
  • rustc stable / nightly >= 1.48
    • If your distribution does not provide a recent enough rustc, rustup helps installing a local toolchain and keeping it up to date.
Arch Linux:
$ pacman -S gsasl rust capnproto

Compiling from source

Diflouroborane uses Cargo, so compilation boils down to:

$ cargo build --release

https://www.geeksforgeeks.org/how-to-install-rust-on-raspberry-pi/ can show you how to install rust on your Linux computer.

The compiled binary can then be found in ./target/release/bffhd

Cross-compiling

If you need to compile for a different CPU target than your own (e.g. you want to use BFFH on a raspberry pi but compile on your desktop PC), you need to setup a cross-compilation toolchain and configure your Cargo correctly. The CONTRIBUTING.md has a section on how to setup a cross-compilation system.

Running bffhd

The server can be ran either using cargo, which will also compile the binary if necessary, or directly.

When running using cargo you need to pass arguments to bffh after a --, so e.g. cargo run --release -- --help or cargo run --release -- -c examples/bffh.toml.

When running directly the bffhd binary can be copied anywhere.

A list of arguments for the server is found in the help, so bffhd --help or cargo run --release -- --help.