Build from Source

Dependencies

RequiredDependencyVersionDescription
C++ CompilerC++17 Support requiredVAST is tested to compile with any the following compilers:
  • GCC >= 8
  • Clang >= 6
  • Apple Clang >= 9.1
CMake>= 3.11Cross-platform tool for building, testing and packaging software.
Apache Arrow>= 0.16Required for the default Apache Arrow export format and for the Apache Arrow table slice type. Apache Arrow support can be explicitly disabled by configuring with --without-arrow. Note that this changes the default behavior of VAST.
libpcapRequired for PCAP import, export, and pivoting to and from PCAP traces.
DoxygenRequired to build documentation for libvast.
PandocRequired to build manpage for VAST.

Source Build

Building VAST involves the following steps:

  1. Download the latest release or clone the repository recursively:
    git clone --recursive https://github.com/tenzir/vast
  2. Configure the build, either with our configure wrapper script or manually with CMake:
    cd vast
    ./configure
  3. Build the executable:
    cmake --build build --target all
  4. Run the tests to verify everything works as expected:
    cmake --build build --target test
    cmake --build build --target integration
  5. Install VAST system-wide or into your configured prefix:
    cmake --build build --target install

Run ./configure --help to see the list of available build configuration options.

Nix

We provide Nix expressions to create a localized build environemnt with dependencies. Run nix-shell in the top-level directory for a deterministic build environment.

You can use the same scaffold to build and install VAST directly into the Nix Store and add it to the Nix profile. Invoke nix-env -f default.nix -i in the top-level directory to do so.