- Compiler that supports C11 and C++20 standards.
- concurrencykit (ck) >= 0.7.0
- hwloc
- flatcc >= 0.6.0
- jlog >= 2.2
- libcircllhist
- libcircmetrics
- libcurl
- liblz4
- libnghttp2
- libxml2
- libxslt
- lmdb
- luajit >= 2.1
- ncurses
- openssl >= 1.0.2
- pcre
- udns
- wslay (for websockets support)
- yajl
Optional:
- libunwind (for better stack traces)
- libdwarf (for better stack traces)
- librabbitmq-c (for
amqp
module) - fq (for
fq
andzipkin_fq
modules), plus:- libuuid
- sqlite3
pkg install autoconf automake cmake e2fsprogs-libuuid flatcc \
gcc git gmake hwloc liblz4 libtool libxml2 libxslt lmdb \
pcre pkgconf udns yajl
If AMQP support is desired:
pkg install rabbitmq-c
Proceed to Download and Build Source Dependencies, build any that aren't provided by the above packages, then return and proceed to the next step.
Once all dependencies are installed:
git clone https://github.com/circonus-labs/libmtev
cd libmtev
autoreconf -i -I buildtools
CPPFLAGS="-I/usr/local/include/luajit-2.1" ./configure
gmake
sudo gmake install
apt-get update
apt-get install autoconf automake build-essential cmake git \
libcurl4-openssl-dev libhwloc-dev liblmdb-dev libluajit-5.1-dev \
liblz4-dev libncurses5-dev libnghttp2-dev libpcre3-dev libssl-dev \
libudns-dev libwslay-dev libxslt1-dev libyajl-dev xsltproc zlib1g-dev
If AMQP support is desired:
apt-get install librabbitmq-dev
Proceed to Download and Build Source Dependencies, build any that aren't provided by the above packages, then return and proceed to the next step.
Once all dependencies are installed:
git clone https://github.com/circonus-labs/libmtev
cd libmtev
autoreconf -i -I buildtools
./configure
make
sudo make install
NOTE Additional repos will be used for some packages:
- EPEL (Extra Packages for Enterprise Linux): libudns
- SCLo (Software Collections SIG): devtoolset-9 (gcc that fully supports C11)
Run the following as root (sudo):
yum groupinstall "Development Tools"
yum install epel-release
yum install autoconf cmake git hwloc-devel libcurl-devel \
libnghttp2-devel libuuid-devel libxslt-devel \
lmdb-devel lz4-devel ncurses-devel openssl openssl-devel \
pcre-devel sqlite-devel udns-devel yajl-devel
yum install centos-release-scl
yum install devtoolset-9
If AMQP support is desired:
yum install librabbitmq-devel
Proceed to Download and Build Source Dependencies, build any that aren't provided by the above packages, then return and proceed to the next step.
Once all dependencies are installed:
PATH="/opt/rh/devtoolset-9/root/bin:$PATH"
export PATH
git clone https://github.com/circonus-labs/libmtev
cd libmtev
autoreconf -i -I buildtools
CPPFLAGS="-I/usr/local/include/luajit-2.1" ./configure
make
sudo make install
Note: some of these may be available in packaged form for some platforms. Review the requirements list at the top of this page for minimum versions. If a given platform does not package a new enough version, the correct version will need to be built from source.
Gather the following as git checkouts or source archives and build each according to its instructions:
Third-Party libraries:
- ConcurrencyKit (ck)
- flatcc
- Note that the flatcc
build.sh
does not build a shared library by default. - Instead, use the following procedure, setting your desired install prefix
in the shell variable
PREFIX
:./scripts/initbuild.sh make mkdir -p build/install cd build/install cmake ../.. \ -DBUILD_SHARED_LIBS=on \ -DCMAKE_BUILD_TYPE=Release \ -DFLATCC_INSTALL=on \ -DCMAKE_INSTALL_RPATH=$PREFIX/lib \ -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX sudo make install
- Note that the flatcc
- LuaJIT
- wslay
Circonus libraries:
- fq (If FQ module support is desired)
- jlog
- libcircllhist
- libcircmetrics