apt install#

This installation method is recommended for Ubuntu and Debian systems with root access. For other Linux distributions, and for non-root installations, use the Linux installer.

1. Add the apt repository#

Before installing Connext, you need to add the RTI APT repository to your system with the following commands:

# Add RTI's official public key
$ sudo curl -sSL -o /usr/share/keyrings/rti-official-archive.gpg \
    https://packages.rti.com/deb/official/repo.key

# Add the RTI repository to apt
$ printf -- "deb [arch=%s, signed-by=%s] %s %s main\n" \
    $(dpkg --print-architecture) \
    /usr/share/keyrings/rti-official-archive.gpg \
    https://packages.rti.com/deb/official \
    $(. /etc/os-release && echo ${VERSION_CODENAME}) | \
    sudo tee /etc/apt/sources.list.d/rti-official.list >/dev/null

# Update apt
$ sudo apt update

(You can copy the full block of commands and paste it into your terminal all at once.)

2. Install Connext with apt#

After adding the repository, install Connext with the following command:

$ sudo apt install rti-connext-dds-7.3.0

The installation, under /opt/rti.com/rti_connext_dds-7.3.0, includes:

  • The SDK to build your distributed applications.

  • Tools that help you design, visualize, and debug your system.

  • Infrastructure Services that perform dedicated functions in your system, such as recording, bridging, and persisting data.

(For more installation options, see RTI Connext for Debian Linux.)

To develop Python applications, you also need to install the Connext Python API with pip as follows:

$ pip install rti.connext

3. Get a free evaluation license#

Get a free evaluation license file at https://www.rti.com/free-trial .

After filling out a brief form, you will receive an email with the license file rti_license.dat.

(You don’t need to download any additional installer.)

Save this file to a location on your system. You will use it in the next step.

Existing customers

If you have already purchased a Connext bundle and prefer not to use an evaluation license file, follow the installation instructions here instead.

4. Run a Hello World program#

Generate and run a simple Connext application to verify the installation.

First, run the following command to configure your environment:

$ eval $(rtienv -l /path/to/rti_license.dat)

To define a data type for the Topic you will publish and subscribe to, create a file named HelloWorld.idl with the following content:

HelloWorld.idl#
struct HelloWorld {
    int32 value;
};

Next, generate the code to use that type in an example application for a target language. Select the programming language you’d like to use:

Run RTI Code Generator:

$ rtiddsgen -language python -example universal HelloWorld.idl

In one terminal, run the subscriber:

$ python HelloWorld_subscriber.py

In another terminal, run the publisher:

$ python HelloWorld_publisher.py

(Make sure you have configured the environment as shown above (using rtienv) for each shell; alternatively, copy the rti_license.dat file to the current directory.)

You should see subscriber output similar to:

Hello World subscriber sleeping for 1 seconds...
Received: HelloWorld(value=0)
Hello World subscriber sleeping for 1 seconds...
Received: HelloWorld(value=1)
Hello World subscriber sleeping for 1 seconds...

Make sure you have make and g++ installed. You can install them as follows:

$ sudo apt install make g++

Run the code generator:

$ rtiddsgen -language c++11 -example x64Linux4gcc7.3.0 HelloWorld.idl

(For ARM systems, use armv8Linux4gcc7.3.0 instead of x64Linux4gcc7.3.0.)

Build the applications:

$ make -f makefile_HelloWorld_x64Linux4gcc7.3.0

In one terminal, run the subscriber:

$ ./objs/x64Linux4gcc7.3.0/HelloWorld_subscriber

In another terminal, run the publisher:

$ ./objs/x64Linux4gcc7.3.0/HelloWorld_publisher

(Make sure you have configured the environment as shown above (using rtienv) for each shell; alternatively, copy the rti_license.dat file to the current directory.)

You should see subscriber output similar to:

::HelloWorld subscriber sleeping up to 1 sec...
[value: 1]
::HelloWorld subscriber sleeping up to 1 sec...
[value: 2]
...

Make sure you have make and gcc installed. You can install them as follows:

$ sudo apt install make gcc

Run the code generator:

$ rtiddsgen -language c -example x64Linux4gcc7.3.0 HelloWorld.idl

Build the applications:

$ make -f makefile_HelloWorld_x64Linux4gcc7.3.0

In one terminal, run the subscriber:

$ ./objs/x64Linux4gcc7.3.0/HelloWorld_subscriber

In another terminal, run the publisher:

$ ./objs/x64Linux4gcc7.3.0/HelloWorld_publisher

(Make sure you have configured the environment as shown above (using rtienv) for each shell; alternatively, copy the rti_license.dat file to the current directory.)

You should see subscriber output similar to:

HelloWorld subscriber sleeping for 4 sec...
Received data

value: 0
Received data

value: 1

Make sure you have the .NET SDK installed. You can install it as follows:

$ sudo apt install dotnet-sdk-8.0

Run the code generator:

$ rtiddsgen -language c# -example net8 HelloWorld.idl

(If necessary, replace net8 with the version of .NET you are using.)

Delete the file NuGet.Config (this file points to the installation directory, but for this evaluation we will download the NuGet packages from nuget.org):

$ rm NuGet.Config

Build the applications:

$ dotnet build

In one terminal, run the subscriber:

$ dotnet run -- --sub

In another terminal, run the publisher:

$ dotnet run -- --pub

(Make sure you have configured the environment as shown above (using rtienv) for each shell; alternatively, copy the rti_license.dat file to the current directory.)

You should see subscriber output similar to:

HelloWorld subscriber sleeping for 4 sec...
    value: 0

HelloWorld subscriber sleeping for 4 sec...
    value: 1

Make sure you have make and a Java JDK installed. You can install them as follows:

$ sudo apt install make openjdk-11-jdk

Run the code generator:

$ rtiddsgen -language java -example x64Linux4gcc7.3.0 HelloWorld.idl

Build the applications:

$ make -f makefile_HelloWorld_x64Linux4gcc7.3.0

In one terminal, run the subscriber:

$ make -f makefile_HelloWorld_x64Linux4gcc7.3.0 HelloWorldSubscriber

In another terminal, run the publisher:

$ make -f makefile_HelloWorld_x64Linux4gcc7.3.0 HelloWorldPublisher

(Make sure you have configured the environment as shown above (using rtienv) for each shell.)

You should see subscriber output similar to:

No data after 1 seconds.
Received:
    value: 0

Received:
    value: 1
...

Congratulations! You have successfully installed Connext.

Next steps#

Now you’re ready to build your own Connext distributed applications.

Learn Connext