Dependencies
Here are the dependencies for building from source and running MALT.
Required dependencies
The dependencies of MALT are the following if you use the official releases which embed some extra files compared to the GIT repository:
Optional dependencies
Those dependencies are not required but will permit to enable some features support of MALT.
- libelf
0.128 - 0.183
To extract global variables list from executables and libraries.
- libunwind
3.11 - 3.13
An alternative implementation of glibc backtrace method
- libpython
3.11 - 3.14
To activate the support of Python language in MALT.
- Graphviz
2.42.2
To activate the call graph rendering in the webview via the dot command.
Embeded dependencies
Some dependencies are embeded into the GIT repository to ease installation of MALT because most of the time not present by default on available systems. If present MALT will use the system version.
- httplib
0.23.1
To implement the C++ based webview server REST API.
- GoogleTest
1.14.0
To build and run the MALT unit tests.
- Nlohmann-json
3.12.0
Use to decode / encoder the JSON data in the webview.
NodeJS dependencies
The webview is based on the VueJS framework, so it requires some dependencies for NodeJS in order to be built.
The CMake script automatically download them if you are using the git repository as it does not contains those dependencies.
The official release archive embed them and contains a pre-build version of the webview so you do not requires NodeJS / NPM nor the node_modules to get it running on your system.
Dependencies for the GIT repo
If you want to use the GIT repository you might also need some extra dependences to get some files not embeded in not embeded into the GIT repository but present in the officiel release archive :
Dependencies in distributions
If you want to install the dependencies provided by your system you can easily use the following commands.
Debian / Ubuntu
If you are using an APT based distribution derivated from Debian you can use :
sudo apt install cmake g++ make libssl-dev libunwind-dev \
libelf-dev libunwind-dev nodejs npm \
nlohmann-json3-dev graphviz python3-dev curl
Fedora / Rocky
If you are using an RPM based distribution derivated from Fedora you can use :
sudo dnf install -y cmake gcc-c++ make \
openssl-devel elfutils-libelf-devel \
nodejs npm curl bzip2 xz graphviz python3-devel
Archlinux
If you are using Archlinux :
pacman -Sy cmake gcc make openssl \
libunwind libelf nodejs npm curl \
nlohmann-json graphviz python3
Gentoo
If you are using Gentoo :
emerge cmake gcc make openssl sys-libs/libunwind elfutils \
nodejs curl dev-cpp/nlohmann_json media-gfx/graphviz