MetroCollect  2.3.4
Build dependencies

Instructions for MetroCollect 2.3.4

Snap plugin C++ library

This library is available on GitHub, and it is provided with MetroCollect as a git submodule in the third_party/ directory.

Snap library dependencies

The Snap plugin C++ library has various dependencies:

Name Website Git Download
Boost Official GitHub Version 1.68.0, bz2
gRPC Official GitHub Version 1.15.1, gz
cpp-netlib Official GitHub Version 0.13.0, bz2
spdlog GitHub Version 1.2.0, gz
nlohmann json GitHub Version 3.3.0

The nlohmann json header file may be zipped in in a bz2 archive: tar -cf - ./json.hpp | bzip2 > nlohmann-json-3.3.0.tar.bz2

All these libraries should be unzipped to MetroCollect's third_party/ directory.

gRPC dependencies

In addition to Snap dependencies, gRPC also has three mandatory dependencies (among other optional dependencies). They can be downloaded automatically with git (git submodule update --init) or with the links below:

Name Website Git Download
Protobuf Official GitHub Version 3.6.1, gz
BoringSSL Official GitHub Commit b29b21a, gz
c-ares Official GitHub Version 1.13.0, gz

Protobuf and BoringSSL should be unzipped to MetroCollect's third_party/grpc/third_party/ directory, and c-ares in third_party/grpc/third_party/cares/.

Buidling

When everything is downloaded and unzipped in the right directories, you can go to MetroCollect's root folder and execute ./buildall.sh. This will build all dependencies in a local directory, and after some time MetroCollect will be available in the output/ directory.