3 Developer environment setup
Pavel Odintsov edited this page 2024-07-10 20:22:55 +03:00

Intro

To setup FastNetMon Community developer environment with all required dependencies you can use this guide

Implementation

We provide Docker images based on Ubuntu 24.04 which include all latest dependencies required to compile FastNetMon Community. We update it automatically via CI/CI Pipeline on CircleCI.

Setup

First of all pull image:

sudo docker pull ghcr.io/pavel-odintsov/fastnetmon-community-developer-24-04:latest

Run container:

sudo docker run -d --privileged --cap-add SYS_ADMIN -v /home/pavel/:/home/pavel --restart=always --name fastnetmon_community_developer ghcr.io/pavel-odintsov/fastnetmon-community-developer-24-04:latest  tail -f

Login into container:

sudo docker exec -it fastnetmon_community_developer bash 

Create Bash alias to setup container in ~/.bashrc:

alias dev_comm='sudo docker start linux_systemd_container_prod; sudo docker exec -it fastnetmon_community_developer bash'

Restart Bash window sand run it:

dev_comm

Example look: Screenshot from 2024-07-10 19-56-51

Then you can switch to source code tree and build project:

cd fastnetmon/src/
mdkir build
cd build
cmake ..

Configure build:

CC=/opt/fastnetmon-community/libraries/gcc_12_1_0/bin/gcc CXX=/opt/fastnetmon-community/libraries/gcc_12_1_0/bin/g++ /opt/fastnetmon-community/libraries/cmake_3_23_4/bin/cmake -DDO_NOT_USE_SYSTEM_LIBRARIES_FOR_BUILD=ON -DKAFKA_SUPPORT=ON -DBUILD_TESTS=ON -DCLICKHOUSE_SUPPORT=ON ..

Ruin build using all available CPUs:

make -j 

After that you will see all binaries from FastNetMon Community product in same folder.