1. Linux installation from binaries

The instructions for installing eProsima Fast DDS in a Linux environment from binaries are provided in this page.

1.1. Install

The latest release of eProsima Fast DDS for Linux is available at the eProsima website Downloads tab. Once downloaded, install the package using apt.

sudo apt update && sudo apt install ./fastdds-3.6.1_amd64.deb

1.1.1. Contents

By default, the installation will download all the available packages, namely:

  • foonathan_memory_vendor, an STL compatible C++ memory allocator library.

  • fastcdr, a C++ library that serializes according to the standard CDR serialization mechanism.

  • fastdds, the core library of eProsima Fast DDS library.

  • fastddsgen, a Java application that generates source code using the data types defined in an IDL file.

    Note

    To run this application, a Java Runtime Environment (JRE) must be installed in the system. The recommended version is 17 or higher.

    sudo apt install openjdk-17-jre
    

See also

For further information about Fast DDS dependencies, as well as for the corresponding versions of other related products, please refer to the Fast DDS Dependencies and compatibilities section.

1.1.2. Including Fast-DDS in a CMake project

The installer deploys CMake config files that simplify to incorporate Fast-DDS to any CMake project via the find_package CMake API.

Shared and static libraries are provided by the installer. The user can select which one will be used in the CMake project using next mechanisms.

  1. Through CMake package components when calling find_package().

    find_package(fastdds shared) # Load shared library target
    find_package(fastdds static) # Load static library target
    
  2. Through the custom CMake variable fastdds_SHARED_LIBS.

    cmake -Dfastdds_SHARED_LIBS=ON .. # Load shared library target
    cmake -Dfastdds_SHARED_LIBS=OFF .. # Load static library target
    
  3. Through the built-in CMake variable BUILD_SHARED_LIBS.

    cmake -DBUILD_SHARED_LIBS=ON .. # Load shared library target
    cmake -DBUILD_SHARED_LIBS=OFF .. # Load static library target
    
  4. In case no previous mechanism is used, CMake will try to load static library target. If it fails then CMake will try to load shared library target.

For example in order to build the examples dynamically linked to Fast-DDS do:

cmake -Bbuildexample -DBUILD_SHARED_LIBS=ON .
cmake --build buildexample --target install

1.2. Fast DDS CLI (optional)

The Fast DDS CLI (Command Line Interface) is a tool that provides a set commands and sub-commands to perform, Fast DDS related, maintenance and configuration tasks. As an optional tool, its dependencies are not installed by default, but they can be installed by running the following command:

pip install psutil xmlschema

Python3 is required to run the CLI tool, and the xmlschema dependency is needed to use the XML validation command.