macOS installer#

The following instructions will guide you through the Connext installation steps, setting up a license file, and running a hello world to verify the installation.

1. Download Connext#

Get a free evaluation version of Connext at https://www.rti.com/free-trial .

After filling out a brief form, you will get:

  • An installer, such as rti_connext_dds-<version>-lm-arm64Darwin20clang12.0.dmg.

  • A license file in your email, rti_license.dat.

Existing customers

If you have already purchased a Connext bundle, please follow the installation instructions here instead.

2. Run the installer#

Double click on the installer and follow the installation instructions.

Choose an installation directory or accept the default one, /Applications/rti_connext_dds-<version>.

The installation 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. Set up the license file#

To set up the license file, you can use RTI Launcher, a graphical tool that also helps you explore and run Connext tools and utilities.

Open RTI Launcher by running:

$ <installation directory>/bin/rtilauncher

And set up the license file as follows:

Writers Readers Overview

Alternatively, you can copy your license file to <installation directory>/rti_license.dat, or set the environment variable RTI_LICENSE_FILE to point to your license file.

When you run your Connext applications, the license file needs to be accessible. We will show that in the next section.

4. Run a Hello World#

We will generate and run a simple Connext application to verify the installation.

First, run the following script to configure your environment:

$ source <installation directory>/resource/scripts/rtisetenv_arm64Darwin20clang12.0.bash

(Scripts for other shells are available in the same directory.)

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...

Run the code generator:

$ rtiddsgen -language c++11 -example arm64Darwin20clang12.0 HelloWorld.idl

Build the applications (you need make and g++ installed):

$ make -f makefile_HelloWorld_arm64Darwin20clang12.0

In one terminal, run the subscriber:

$ ./objs/arm64Darwin20clang12.0/HelloWorld_subscriber

In another terminal, run the publisher:

$ ./objs/arm64Darwin20clang12.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]
...

Run the code generator:

$ rtiddsgen -language c -example arm64Darwin20clang12.0 HelloWorld.idl

Build the applications (you need make and gcc installed):

$ make -f makefile_HelloWorld_arm64Darwin20clang12.0

In one terminal, run the subscriber:

$ ./objs/arm64Darwin20clang12.0/HelloWorld_subscriber

In another terminal, run the publisher:

$ ./objs/arm64Darwin20clang12.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

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 (you’ll need the .NET SDK installed):

$ 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

Run the code generator:

$ rtiddsgen -language java -example arm64Darwin20clang12.0 HelloWorld.idl

Build the applications (you need make and a Java JDK installed):

$ make -f makefile_HelloWorld_arm64Darwin20clang12.0

In one terminal, run the subscriber:

$ make -f makefile_HelloWorld_arm64Darwin20clang12.0 HelloWorldSubscriber

In another terminal, run the publisher:

$ make -f makefile_HelloWorld_arm64Darwin20clang12.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