System Requirements

There are a few system requirements related to compilation, tooling, and SQL backends that you'll need to be able to contribute to the Fuel indexer.

Ubuntu/Debian

apt update && apt install -y \
    cmake \
    pkg-config \
    git \
    gcc \
    build-essential \
    clang \
    libclang-dev \
    llvm \
    libpq-dev
DependencyRequired For
cmakeManages the build process in an operating system and in a compiler-independent manner
pkg-configLanguage-agnostic helper tool used when compiling applications and libraries
gitVersion control system
gccCompiler tools required to build various Fuel indexer crates
clang/libclang-devCompiler tools required to build various Fuel indexer crates on Unix-like OSes
llvmRequired for building Fuel indexer crate dependencies
libpq-devSet of library function helping facilitate interaction with the PostgreSQL backend

MacOS

brew update && brew install \
    cmake \
    llvm \
    libpq \
    postgresql
DependencyRequired For
cmakeManages the build process in an operating system and in a compiler-independent manner
llvmCompiler infrastructure for building Fuel indexer crate dependencies
libpqPostgres C API library
postgresqlInstalls the command line console (psql) as well as a PostgreSQL server locally

Arch

pacman -Syu --needed --noconfirm \
    cmake \
    gcc \
    pkgconf \
    git \
    clang \
    llvm11 \
    llvm11-libs \
    postgresql-libs
DependencyRequired For
cmakeManages the build process in an operating system and in a compiler-independent manner
gitVersion control system
gccCompiler tools required to build various Fuel indexer crates
llvm11Compiler infrastructure for building Fuel indexer crate dependencies
llvm11-libsCompiler infrastructure libraries for building Fuel indexer crate dependencies
pkgconfSystem for configuring build dependency information
postgresql-libsProvides the essential shared libraries for any PostgreSQL client program or interface
clangCompiler required to build various Fuel indexer crates Unix-like OSes