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.
Install the prerequisite packages:
sudo apt install cmake libacl1-dev libncurses5-dev pkg-config maven
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
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.