RTI DDS is used for real-time communication between programs and devices. It implements a publish-subscribe pattern and serialization/deserialization for the messages. It is mandatory.

If you use on of the eProsima branches, take a look at eProsima Setup.


Download and extract the following files:

wget https://s3.amazonaws.com/RTI/Bundles/6.0.0/Evaluation/rti_connext_dds_secure-6.0.0-eval-x64Linux4gcc7.3.0.tar.gz
wget https://s3.amazonaws.com/RTI/Community/ports/toolchains/raspbian-toolchain-gcc-4.7.2-linux64.tar.gz
wget https://community.rti.com/static/downloads/connext-dds/6.0.0/rti_connext_dds-6.0.0-core-target-armv6vfphLinux3.xgcc4.7.2.rtipkg
tar xvzf raspbian-toolchain-gcc-4.7.2-linux64.tar.gz
tar xvzf rti_connext_dds_secure-6.0.0-eval-x64Linux4gcc7.3.0.tar.gz

A backup of these files can be found in sciebo/CPM/Project/Lab/08_Other/RtiConnextBackup.
The Raspbian toolchain and the ARMv6 libraries may be skipped, if compilation for the lab vehicle Raspberry controller is not required.


Run the RTI installer

sudo ./rti_connext_dds-6.0.0-eval-x64Linux4gcc7.3.0.run

and select /opt/rti_connext_dds-6.0.0 as the installation directory.

Copy the Raspberry toolchain to /opt:

sudo cp -R raspbian-toolchain-gcc-4.7.2-linux64 /opt

Get a copy of the RTI license and move it to /opt/rti_connext_dds-6.0.0/rti_license.dat.

Environment Setup

Register the RTI libraries with the dynamic linker. Edit with sudo nano /etc/ld.so.conf and insert:


The run sudo ldconfig.

Select a unique DDS domain! To avoid interference from other users in the same network, you need to set a DDS domain ID that is different from everyone in the network. The domain ID is assumed to be in the environment variable DDS_DOMAIN. Currently occupied IDs are:

21main server
60 - 66Lab PCs

Edit the global profile with the code below while inserting your own unique ID instaed of the "<>", for example using sudo nano /etc/profile and insert:

export PATH=$PATH:/opt/rti_connext_dds-6.0.0/bin
export PATH=$PATH:/opt/raspbian-toolchain-gcc-4.7.2-linux64/bin
export NDDSHOME=/opt/rti_connext_dds-6.0.0
export RASPBIAN_TOOLCHAIN=/opt/raspbian-toolchain-gcc-4.7.2-linux64
export RTI_LICENSE_FILE=/opt/rti_connext_dds-6.0.0/rti_license.dat

Reboot to apply the changes made to the environment variables.

Install RTI ARM libraries

sudo /opt/rti_connext_dds-6.0.0/bin/rtipkginstall rti_connext_dds-6.0.0-core-target-armv6vfphLinux3.xgcc4.7.2.rtipkg
  • No labels