Debian/Ubuntu

In order to build SWC-DB on Debian/Ubuntu there are several mandatory and optional prerequisites which are available from the os-distribution or some might require additional steps.

SWC-DB Mandatory 3rd-party Prerequisites:

apt-get update;
apt-get install -y \
  cmake \
  build-essential \
  libasio-dev \
  libre2-dev \
  zlib1g-dev \
  libsnappy-dev \
  libzstd-dev \
  libssl-dev \
  libreadline-dev \
  git;
REQUIRED VERSIONS:

SWC-DB Optional 3rd-party Prerequisites:

Malloc

libtcmalloc:

apt-get install -y libgoogle-perftools-dev;

Thrift Broker

apt-get install -y \
  libboost-math-dev \
  libevent-dev \
  libthrift-dev;

Java-Thrift client

apt-get install -y \
  default-jdk \
  maven;

C_GLIB-Thrift client & PAM module

apt-get install -y \
  libthrift-c-glib-dev \
  libperl-dev \
  libffi-dev \
  libglib2.0-dev \
  libpam-dev;

Hadoop FsBroker native(JVM, C++)

tests require full Java & Apache-Hadoop installation and runtime

  • Native(JVM)

     apt-get install -y default-jdk;
    

    Version rather than JAVA_HOME apply cmake with -DJAVA_INSTALL_PATH=$(find /usr/lib/jvm -name jni.h | sed s"/\/include\/jni.h//"g);

  • Native(C++)

     apt-get install -y libprotobuf-dev;
    

    state depends on progress of libhdfscpp

CephFS

apt-get install -y libcephfs-dev;

Documentations

apt-get install -y graphviz doxygen;

Generating Thrift Documentations - COMPILER THRIFT

swcdb_cluster

apt-get install -y python3-pip;
python3 -m pip install setuptools;
python3 -m pip install fabric;