Shared memory exchange

This section describes how to support shared memory exchange in Eclipse Cyclone DDS, which is based on Eclipse iceoryx.

Prerequisites

Eclipse iceoryx depends on several packages (cmake, libacl1, libncurses5, pkgconfig and maven).

Note

The following steps were done on Ubuntu 20.04.

  1. Install the prerequisite packages:

    sudo apt install cmake libacl1-dev libncurses5-dev pkg-config maven
    
  2. Get and build iceoryx. The following assumes that the install is in your home directory:

    git clone https://github.com/eclipse-iceoryx/iceoryx.git -b release_2.0
    cd iceoryx
    cmake -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DROUDI_ENVIRONMENT=on -DBUILD_SHARED_LIBS=ON -Hiceoryx_meta
    cmake --build build --config Release --target install
    
  3. Get Cyclone DDS and build it with shared memory support:

    git clone https://github.com/eclipse-cyclonedds/cyclonedds.git
    cd cyclonedds
    cmake -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DENABLE_ICEORYX=On -DBUILD_EXAMPLES=On -DCMAKE_PREFIX_PATH=~/iceoryx/install/
    cmake --build build --config Release --target install
    

When the compiler has finished, the files for both iceoryx and Cyclone DDS can be found in the specified install directories.