Skip to content

Dependencies

Jens Keim edited this page Apr 16, 2019 · 1 revision

Dependencies

ID2T is written using Python 3 and C++ 11. The main logic is programmed in Python whereas performance critical components are programmed in C++11. The C++11 module uses the Libtins library. The python and c++ modules interact with each other through the pybind11 library.

Dependency installation script

ID2T provides a dependency installation script, which is called during the execution of ./build.sh.

For supported operating systems see Supported Systems.

Required C++ Libraries/Programs

The following packages/libraries are required to compile the ID2T C++ modules

  • cmake (minimum version 3.2)
  • g++
  • python development libraries
    • python-venv
  • coreutils
  • sqlite (minimum version 3.0)
  • libtins (minimum version 4.1 plus our patches)
  • boost
  • gcc
  • tcpdump
  • cairo
  • libdnet (macOS only)

Required Python Packages

The python packages required to run ID2T can be found here. By default the packages are installed into a python virtual environment by the build script.

If you want run ID2T without using its build system, you can use your preferred package manager to install the packages manually. For example, you can use pip3 (pip for python 3). Install pip3 in ubuntu with apt install python3-pip and install the packages with sudo pip3 install <packagename>.

Notes on the Minimum Package Versions

The minimum version stated in the previous requirements are the versions we used in the development of ID2T. Other (older) versions might also work; however, we can neither guarantee nor support them. Furthermore, some compilation scripts would need to be manually modified to accommodate these older versions.