AnyCollect  1.1.2
Build dependencies

Instructions for AnyCollect 1.1.2

AnyCollect

AnyCollect has four dependencies:

Name Website Git Download
Boost Official GitHub Version 1.68.0, bz2
pstreams Official Git URL Version 1.0.1, gz from SourceForge
tinyexpr Official GitHub Latest commit, gz2
nlohmann json GitHub Version 3.3.0

Boost and nlohmann json are common dependencies with Snap (see below).

Snap plugin C++ library

This library is available on GitHub, and it is provided with AnyCollect 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 AnyCollect'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 AnyCollect's third_party/grpc/third_party/ directory, and c-ares in third_party/grpc/third_party/cares/.

Building

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