On Ubuntu, we need a C compiler, CMake, Doxygen, and libnl libraries:
sudo apt update
sudo apt install cmake build-essentials doxygen libnl-genl-3-dev libnl-route-3-dev graphviz dnsmasq libpcap-dev libsqlite3-dev libtool texinfo jq libssl-dev protobuf-compiler uuid-dev
To install grpc dependencies:
cd lib/
sudo ./compile_grpc_deps.sh
Compiling EDGESec is done with CMake. First create the makefiles by using the following commands:
mkdir -p build/
cd build/
cmake ..
For parallel builds use:
cmake -j n ..
where n
is the number of cores.
Second, to compile the edgesec
tool and the tests use:
make all
After succesful compilation the binary will be located in ./build/src
folder.
To run edgesec
tool with a configuration file config.ini
located in ./build
folder use:
./build/src/edgesec -c ./build/config.ini
To enable verbose debug mode use:
./build/src/edgesec -c ./build/config.ini -ddddd
To run the tests use:
make tests
To run each test individually the test binaries can be located in ./build/tests
folder.
To compile the docs from ./build
folder:
make docs
See ./docs
for how to build the developer doxygen documentation website.