Build on Linux
This document describes how to build NebulaStream on Linux.
💡 NebulaStream has been tested on Ubuntu Linux 18.04, 20.04, and 22.04.
Step 1: Install Required Dependencies
apt-get update
DEBIAN_FRONTEND="noninteractive" apt-get install -qq \
libdwarf-dev \
libdwarf1 \
binutils-dev \
libunwind-dev \
libdw-dev \
libssl-dev \
build-essential \
clang-format \
libnuma-dev \
numactl \
libmbedtls-dev \
libjemalloc-dev \
git \
wget \
python3.8 \
libsodium-dev \
tar \
p7zip \
doxygen \
graphviz \
libbsd-dev \
software-properties-common
apt-get clean
On Ubuntu 18.04, you also have to install GCC 9.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-9 g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9
Step 2: Install CMake (version >= 3.20.0)
On Ubuntu 20.04 and 21.04 CMake can be installed via snap:
snap install cmake
On Ubuntu 18.04, you have to follow the alternative installation instructions below.
Alternatively CMake can be installed via apt
- Ensure the following dependencies are installed:
sudo apt-get update
sudo apt-get install gpg wget
- Obtain a copy of signing key:
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
- Add the repository to sources list and update:
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
sudo apt-get update
- Install the kitware-archive-keyring package to ensure that your keyring stays up to date:
sudo rm /usr/share/keyrings/kitware-archive-keyring.gpg
sudo apt-get install kitware-archive-keyring
- Install CMake
sudo apt-get install cmake
- Check that CMake version is >=3.21
cmake --version
For more details see use the Kitware APT Repository.
Step 3: Clone the NebulaStream Github Repository
💡 Contact us to get access to the NebulaStream source repository on Github.
git clone git@github.com:nebulastream/nebulastream.git
Step 4: Build NebulaStraem
cd /path/to/nebulastream
mkdir -p build
cd build
cmake ..
make -j
make test
💡 Refer to the CMake build options for a description of the parameters to modify the NebulaStream build process.