Linux installer#
The following instructions guide you through the Connext installation steps, setting up a license file, and running a Hello World program 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>-eval-x64Linux4gcc7.3.0.run
.A license file,
rti_license.dat
, in your email.
Existing customers
If you have already purchased a Connext bundle, follow the installation instructions here instead.
2. Run the installer#
Double-click the installer or run it from a command line:
$ ./rti_connext_dds-<version>-eval-x64Linux4gcc7.3.0.run
Choose an installation directory or accept the default one:
/opt/rti_connext_dds-<version>
for root users/home/<user>/rti_connext_dds-<version>
for non-root users
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
To set up the license file, go to the Configuration tab and select
the rti_license.dat
file in the License Information field:
Alternatively, copy your license file to <installation directory>/rti_license.dat
,
or set the environment variable RTI_LICENSE_FILE
to point to your license file.
With the evaluation bundle, the license file needs to be accessible when you run your Connext applications. We will show that in the next section.
4. Run a Hello World program#
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_x64Linux4gcc7.3.0.bash
(Scripts for other shells are available in the same directory.)
To define a data type for the Topic you will publish and subscribe to,
create a file named HelloWorld.idl
with the following content:
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
rtisetenv
) 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...
Run RTI Code Generator:
$ rtiddsgen -language c++11 -example x64Linux4gcc7.3.0 HelloWorld.idl
Build the applications (you need make
and g++
installed):
$ 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
rtisetenv
) 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]
...
Run RTI Code Generator:
$ rtiddsgen -language c -example x64Linux4gcc7.3.0 HelloWorld.idl
Build the applications (you need make
and gcc
installed):
$ 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
rtisetenv
) 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
Run RTI 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 (using
rtisetenv
) 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
Run RTI Code Generator:
$ rtiddsgen -language java -example x64Linux4gcc7.3.0 HelloWorld.idl
Build the applications (you need make
and a Java JDK installed):
$ 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
rtisetenv
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.