Prerequisites¶
This document describes the basic setup required to build the EVP Agent for the Linux target. Specific information required for the build of the different hardware platform can be found in their specific sections.
While different combinations of tools and dependencies might work, the only supported ones are those in the list provided in this document, with annotaged versions.
Build Host¶
EVP Agent build is based on UNIX compatible systems, and, while it should work in other Linux distributions, only tested and supported are the following:
Ubuntu 24.04 LTS (64-bit AArch64 and AMD64)
Raspberry Pi OS bookworm (64-bit AArch64).
Other non-Linux UNIX-compatible systems may work, but this is not guaranteed and have not been tested.
Toolchain¶
EVP Agent build is tested for AMD64 and AArch64 architectures using gcc and clang. The recommended tools are:
Some functionalities, such as code formatting, rely on clang independently of the toolchain used to compile the agent.
EVP Agent requires the following tools:
It also requires the following libraries:
All these libraries are shipped as Git Submodules within the EVP Agent git repository, so it is not required to have them installed in the system. In case of being needed, the build system can be configured to use external versions of these libraries.
Not all of them are always required always, some of them are used only when some features are enabled in the Kconfig configuration (see Kconfig).
Toolchain for WASM modules¶
The WASM modules need to be built with clang toolchain. Either with upstream clang and a wasi-sysroot from wasi-sdk, or with the wasi-sdk debian package which already includes clang and wasi-sysroot preconfigured with wasm as default target.
To build the AoT and XiP modules, WAMRC is required.
This requires:
Package installation¶
The required packages can be installed in Debian-like systems using:
sudo apt-get install python3-pip make cmake binutils
pip3 install kconfiglib
After running these commands, ensure that
all the tools are accessible through the PATH
variable and
it is likely that it will be necessary to add this to the shell profile:
PATH=$PATH:~/.local/bin
or any other location where the Kconfiglib binaries are installed. To avoid that problem it is usual to use a Python venv:
sudo apt-get install python3-pip make cmake binutils
python3 -m venv .venv
. .venv/bin/activate
pip3 install kconfiglib
Getting the EVP Agent source¶
The source code of the EVP Agent is maintained as a Github repository, that can be cloned using:
git clone https://github.com/SonySemiconductorSolutions/edge-virtualization-platform.git