Skip to main content

Getting Started

mod.io Linux SDK Integration

The use of Linux with the mod.io SDK is ready by default. You can find the linux directory in the platform subdirectory of your SDK installation. You can then target LINUX to compile the mod.io SDK for Linux SDK.

Linux SDK Versions

The mod.io SDK is built and tested against Ubuntu 21.04 using clang v10. Using different versions of the Linux SDK may result in compilation issues.

In Linux, the default way to compile the mod.io SDK requires CMake with Ninja as generator, which you can install CMake Installation instructions or using a package manager like apt:

sudo apt install cmake ninja

Dependencies

The mod.io SDK requires a Linux kernel with liburing support (v5.1 or later). The io_uring system calls provides asynchronous input/output operations. To fulfill that requirement and have the development tools ready, the following commands employ the "apt" package manager (tested on Ubuntu 20.04 Focal Fossa):

sudo apt update
sudo apt upgrade
sudo apt install llvm clang lldb make wget python3 ninja-build git unzip
## Install Cmake
wget -q -O cmake-linux.sh https://github.com/Kitware/CMake/releases/download/v3.21.3/cmake-3.21.3-Linux-x86_64.sh
sh cmake-linux.sh -- --skip-license --prefix=/usr/
## Install liburing-dev
wget http://mirrors.kernel.org/ubuntu/pool/main/libu/liburing/liburing-dev_0.7-3ubuntu3_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/libu/liburing/liburing1_0.7-3ubuntu3_amd64.deb
sudo apt install ./liburing*deb

The mod.io SDK also requires libuuid, which is available in the standard uuid-dev package, e.g.

sudo apt install uuid-dev
note

If you are using the "header_only" release mode, the mod.io SDK includes MbedTLS headers, but requires the library installed in your system, which was tested with libmbedtls-dev 2.28.0 in Ubuntu. The "static" mode includes these libraries in the same folder as the libmodioStatic.a