apt install#

Connext can be installed from RTI’s apt repository on Ubuntu and Debian systems. This installation method requires root access.

For other Linux distributions and for non-root installations, please use the Linux installer.

1. Add the apt repository#

Before installing Connext, you need to add the RTI 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 at once.)

2. Install Connext with apt#

Once the repository is added, you can 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.

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. We will use it in the next step.

4. Run a Hello World#

We will 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)

Define the a data type for the topic we will publish and subscribe to. Create a file named HelloWorld.idl with the following content:

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

Now we’ll generate the code to use that type in an example application for a target language. Choose the programming language you’d like to use:

Run the 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 for each shell, or alternatively copy the rti_license.dat file to the current directory.)

You should see a 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 for each shell, or alternatively copy the rti_license.dat file to the current directory.)

You should see a 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 for each shell, or alternatively copy the rti_license.dat file to the current directory.)

You should see a 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 for each shell, or alternatively copy the rti_license.dat file to the current directory.)

You should see a 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 for each shell.)

You should see a 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