Skip to content

Latest commit

 

History

History
112 lines (90 loc) · 4.51 KB

BUILDING.md

File metadata and controls

112 lines (90 loc) · 4.51 KB

Building Reconnoiter

Requirements

Compiler:

  • Support for C11 and C++20 standards is required. This means GCC 11 or later; Clang/LLVM is less tested but recent versions should work.

Third-party Libraries

Important build notes

Required Libraries:

Optional Libraries:

  • Apache Portable Runtime (libapr) is required if you want to build STOMP drivers.
  • FQ is required if you want FQ drivers.
  • Java JDK to build the Jezebel sidecar for certain SQL database checks, as well as the standard SNMP check support.
  • SQLite 3 (for FQ)

Platforms

Linux (Ubuntu)

Tested on 20.04 LTS

Install dependencies that are available as packages:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update && sudo apt-get install gcc-11 g++-11

sudo apt-get install autoconf build-essential cmake \
  libapr1-dev libaprutil1-dev libc-ares-dev libcurl4-openssl-dev \
  libhwloc-dev liblmdb-dev liblz4-dev libncurses-dev libnghttp2-dev \
  libpcre3-dev libpq-dev librabbitmq-dev libsqlite3-dev libssl-dev \
  libudns-dev libwslay-dev libxslt1-dev libyajl-dev \
  openjdk-8-jdk-headless pkg-config uuid-dev xsltproc zlib1g-dev

Ensure the necessary compiler version is used:

export CC=gcc-11
export CXX=g++-11

Follow build instructions for third-party libraries that are not available as packages. Then come back here and continue below.

git clone https://github.com/circonus-labs/reconnoiter
cd reconnoiter
autoreconf -i
CPPFLAGS="-I/usr/local/include/luajit-2.1" \
    CFLAGS="-Wno-stringop-overflow -Wno-stringop-overread" \
    ./configure
make
sudo make install

Linux (CentOS 7)

Install dependencies that are available as packages:

sudo yum groupinstall "Development Tools"
sudo yum --enablerepo=extras install centos-release-scl
sudo yum install devtoolset-11
sudo yum install autoconf apr-devel apr-util-devel c-ares-devel cmake \
  hwloc-devel java-1.8.0-openjdk-devel libtermcap-devel libuuid-devel \
  libxslt-devel ncurses-devel openssl openssl-devel pcre-devel \
  pkgconfig postgresql-devel sqlite-devel udns-devel yajl-devel \
  zlib-devel
scl enable devtoolset-11 bash

Follow build instructions for third-party libraries that are not available as packages. Then come back here and continue below.

git clone https://github.com/circonus-labs/reconnoiter
cd reconnoiter
autoreconf -i
CPPFLAGS="-I/usr/local/include/luajit-2.1" ./configure
make
sudo make install