1. Installing RTI Connext

An RTI® Connext® installation includes:

  • The libraries to develop applications in several programming languages (C, C++, Java, C#, Python, Ada)

  • Development tools

  • Infrastructure Services

  • Examples and documentation

Note

Whether you are evaluating or have purchased Connext, we recommend the Connext Developer guide for quick installation and getting started instructions. The installation instructions in this document contain full details on installing Connext.

Connext is provided in two main types of distributions:

  • A commercial package that you typically download from the RTI Customer Portal after purchasing Connext.

  • A free package that requires a license file to run. You typically obtain this package as a free evaluation, as Connext Express, or from a public repository.

Attention

All use of commercial and free versions is subject to RTI’s Software License Agreement. You can find RTI’s Software License Agreement in your installation directory.

1.1. Installing a Commercial Version

Commercial Connext distributions are typically downloaded from the RTI Customer Portal after purchasing Connext. They are provided in two types of bundles: hosts and targets.

  • A host bundle contains compiler-independent files, such as documentation, header files, tools, and infrastructure services executables. The host bundle is provided in a .run, .exe, or .dmg file that will run an installer.

    Host bundles are named: rti_connext_dds-<version>-<package_type>-host-<host-platform>.<extension>

    The <package_type> is usually pro.

    Note

    The legacy core package type does not include all functionality. Please contact your local RTI sales representative or email sales@rti.com for more information.

    The <host_platform> depends on your development platform: x64Linux for Linux® systems, x64Win64 for Windows® systems, or arm64Darwin for macOS® systems.

    rti_connext_dds-<version>-<package_type>-host-<host-platform>.run

  • A target bundle contains SDK libraries you will link against and any applications that have target-specific dependencies. Target packages include support to develop C, C++, and Java applications. For Python, C#, and Ada, see Installing Commercial Python, C#, or Ada Packages. If you are developing for a cross-compiled architecture, the target bundle will also include any applications that are supported for your architecture. A target bundle is an “RTI Package” (*.rtipkg) file that must be installed on top of your host bundle. After you install the host bundle, you will have a script called bin/rtipkginstall[.bat]. You can use this script to install one or more target bundles. Or you can use RTI Launcher to install the target bundles. (Launcher is installed as part of the host bundle.) See Installing the Host and Target.

    Target bundles are .rtipkg files named:
    rti_connext_dds-<version>-<package_type>-target-<architecture>.rtipkg. The <architecture> depends on your target machine (where you will deploy your completed application). Your architecture is the combination of a processor, OS, and compiler version that you will use to build your application. For example, if you have a 64-bit Windows machine with Visual Studio® 2017, use x64Win64VS2017. For a 64-bit Linux machine with gcc version 8.5.0, use x64Linux4gcc8.5.0.

    To see the full list of available architectures, see the “RTI Architecture Abbreviation” columns in the RTI Connext Core Libraries Platform Notes.

    Note

    A few notes about target bundles:

    • You will need to install more than one target bundle if you are developing for multiple target architectures, such as developing for both Linux® and VxWorks® systems.

    • You must have a target bundle even if you are developing for Java®. This is because Connext requires native libraries as well as the Java SDK. If you are on a Windows system, you can generally install any Windows architecture if you plan to develop with Java.

    • A target installation is not necessary for building or running C# or Python applications, unless you’re using add-on libraries (such as the Security Plugins).

  • If you are developing Python, C#, or Ada applications, see Installing Commercial Python, C#, or Ada Packages.

If you are installing a patch release (for example, a 7.3.1.x release), read Special Backup of RTI Libraries.

There are two ways to install a Connext host bundle:

  • using an installer, which will prompt you for information such as where to install (see Using an Installer below), or

  • using a script, which allows you to run in “unattended mode” so you will not be prompted for information while it is installing (see Running from a Script (Unattended Mode) below).

1.1.1. Installing the Host and Target

1.1.1.1. Using an Installer

Download the host and target bundles:

Download the host and target bundles to a location of your choice; for example, /home/<your user name>/Downloads.

  • Example host bundle name: rti_connext_dds-7.7.0-pro-host-x64Linux.run

  • Example target bundle name: rti_connext_dds-pro-target-7.7.0-x64Linux4gcc8.5.0.rtipkg

Your filenames will be different depending on your package type and architecture. See Installing a Commercial Version, above.

Install the host bundle:

Install the host bundle using an installer or command line:

  • Using the installer:

    Run the host bundle installer (the .run file). For example:

    /home/<your user name>/Downloads/rti_connext_<version>-dds-pro-host-<host-platform>.run
    

    Follow the on-screen prompts. You will be asked if you want to use the default installation directory (/home/<your user name>) or specify a different path. We refer to the installation directory as <NDDSHOME>, see Paths Mentioned in Documentation.

    You may need to add execution permission to run the installer. For example:

    chmod +x rti_connext_dds-<version>-pro-host-<host-platform>.run
    
  • Or, using a command prompt:

    rti_connext_dds-<version>-<package_type>-host-<host_platform>.run --mode unattended --prefix <installation path>
    

    The --prefix option allows you to specify the installation directory; if you omit this, the installer will install into a default location.

    For example (enter on one line):

    rti_connext_dds-<version>-pro-host-<host_platform>.run --mode unattended --prefix /home/user/rti_connext_dds-<version>
    

Install the target bundle using RTI Launcher or a command line:

  • From RTI Launcher:

    Start RTI Launcher in your host installation (<NDDSHOME>/bin/rtilauncher), select the Configuration tab, and click on Install RTI Packages. Add the location of your target file. Click Install.

    Note

    RTI Launcher is not supported on an Arm Linux host. Use the command line (described in the next bullet) instead.

    <NDDSHOME> refers to your Connext installation directory, rti_connext_dds-<version>. See Paths Mentioned in Documentation for more information.

    Install RTI Packages
    RTI Package Installer

    You may need to click Close or OK when the RTI Package Installer finishes.

  • Or, from the command line:

    Open a command prompt and change to the rti_connext_dds-<version>/bin directory.

    Use <NDDSHOME>/bin/rtipkginstall to install the target bundle. For example (enter on one line):

    rtipkginstall /home/<your user name>/Downloads/rti_connext_dds-<version>-pro-target-<target_platform>.rtipkg
    

After installing, see Checking What is Installed and License Management.

1.1.1.2. Running from a Script (Unattended Mode)

When running in unattended mode, the installer will use default values for its parameters unless you specify them at the command line.

Table 1.1 Command-Line Options when Installing from a Script

Parameter

Values

Meaning

Default

--mode

win32
gtk
xwindows
osxqt
text [not available on Windows]
unattended [all platforms]

[not available for “lm” package]
Should the installer display a graphical or a text-based UI?
Should the installer ask for user feedback?

GUI available in your platform

--unattendedmodeui

none [not available on Windows]
minimal [not available on Windows]
minimalWithDialogs [Required on Windows if using –mode unattended]

If you chose --mode unattended, how much graphical feedback should the installer display?

none

--prefix

directory to install into

The installation directory the product will be placed into.

Note that the installer will always place the product in a directory named rti_connext_dds-7.7.0.

Platform-dependent

Windows Example: “C:\program files\rti_connext_dds-7.7.0”

--disable_copy_examples

true
false

Should the installer disable the copying of examples into rti_workspace during installation (true) or not (false)?

false

1.1.2. Installing Commercial Python, C#, or Ada Packages

Note

The following instructions are for installing a commercial version of Connext (the rti.connext.activated package for Python, the NuGet packages from your Connext host installation, or the Ada support package for Ada). For instructions on installing a free package, see Installing Free Python or C# Packages.

  • If you are developing C# applications, install the host package as described in Installing the Host and Target. (You don’t need to install a target, unless you’re using add-on libraries such as the Security Plugins.) Then download and install rti_connext_dotnet_support-<version>.rtipkg, which includes the NuGet packages required for building C# applications. In Installing the Host and Target, follow the instructions for using Launcher or the command-line to install rti_connext_dotnet_support-<version>.rtipkg into your installation directory.

  • If you are developing Python applications, install the host package as described in Installing the Host and Target. Then install the Python API from your host installation directory:

    $ pip install rti.connext.activated -f <NDDSHOME>/resource/python_api
    

    <NDDSHOME> refers to your Connext installation directory, rti_connext_dds-<version>. See Paths Mentioned in Documentation for more information.

    For information on which platforms and Python versions the Python API is supported on, see the Core Libraries Platform Notes.

    See Troubleshooting Python API Installation if you have any trouble installing Python.

  • If you are developing Ada applications, see Installation in the Ada Language Support Release Notes. (Ada Language Support is not included in every release. See the Ada Language Support Release Notes to see whether Ada Language Support is included in your release.)

After installing, see Checking What is Installed and License Management.

1.2. Installing a Free Version

A package with “lm” (for “license-managed”) in its name requires a license file to run. You typically obtain this package as a free version, as Connext Express, or from a public repository.

Attention

All use of commercial and free versions is subject to RTI’s Software License Agreement. You can find RTI’s Software License Agreement in your installation directory.

The “lm” trial package includes Connext Professional, RTI Real-Time WAN Transport, Cloud Discovery Service, Security Plugins, and OpenSSL® version 3.5.5. (The installer provides a prebuilt version of OpenSSL 3.5.5. If you wish to build your own version of OpenSSL 3.5.5, you can find the source code here: https://github.com/openssl/openssl.)

Most “lm” bundles are packaged in a single file. For example, rti_connext_dds-7.7.0-lm-x64Win64VS2017.exe combines the x64Win64 host with the x64Win64VS2017 target in a single bundle.

The target architecture depends on your target machine where you will deploy your completed application. These strings are listed in the Supported Platforms section of the RTI Connext Core Libraries Release Notes; examples are x64Win64VS2017, armv8Linux4gcc8.5.0, and arm64Darwin23clang16.0.

Note

An “lm” package cannot be installed in “unattended mode.”

1.2.1. Installing a Combined Host/Target

Follow these steps for installing an “lm” bundle, which combines the host and target in a single bundle:

  1. Download the “lm” bundle (for example: rti_connext_dds-7.7.0-lm-x64Linux4gcc8.5.0.run) to a location of your choice; for example, /home/<your user name>/Downloads.

  2. Run the “lm” bundle installer (the .run file). For example:

    /home/<your user name>/Downloads/rti_connext_dds-<version>-lm-<platform>.run
    

    Follow the on-screen prompts. You will be asked if you want to use the default installation directory (/home/<your user name>) or specify a different path. We refer to the installation directory as <NDDSHOME>, see Paths Mentioned in Documentation.

    You may need to add execution permission to run the installer. For example:

    chmod +x rti_connext_dds-<version>-lm-<platform>.run
    
  3. See Checking What is Installed and License Management.

1.2.2. Installing Free Python or C# Packages

Note

The following instructions are for installing a free package of Connext for C# or Python (the rti.connext package from pypi.org or the NuGet package from nuget.org). For instructions on installing a commercial Connext package, see Installing Commercial Python, C#, or Ada Packages. All use of commercial and free versions is subject to RTI’s Software License Agreement.

1.2.2.1. Installing Python

To install a free version of the Connext Python API, install it from pypi.org. This installation method requires a license file when you run your application (see License Management).

$ pip install rti.connext

The above command installs the latest version of Connext by default. To install a specific version, use this command:

$ pip install rti.connext==<version>

where <version> is any valid Connext version in the Release history at pypi.org. (The free version of the Connext Python API is not available in all Connext releases.)

Note that the pypi.org package allows writing Python applications without a host installation, but to use the Code Generator and other tools and services, you need the host package. See Installing a Combined Host/Target.

For information on which platforms and Python versions the Python API is supported on, see the Core Libraries Platform Notes.

See Troubleshooting Python API Installation if you have any trouble installing Python.

1.2.2.2. Installing C#

Besides the host package, no additional package needs to be installed to develop Connext applications in C#, for free distributions. Simply reference the Rti.Connext.Extra (or Rti.Connext) NuGet package in your C# project. .NET will automatically download the free NuGet package from nuget.org when you build your applications.

Note that the nuget.org packages allow writing C# applications without a host installation, but to use the Code Generator and other tools and services, you need the host package. See Installing a Combined Host/Target.

1.2.3. Installing with apt on Ubuntu or Debian Systems

The apt installation method is recommended for Ubuntu and Debian systems with root access. For instructions, see apt install in the Connext Developer guide for quick instructions or RTI Connext for Debian Linux for detailed instructions. For other Linux distributions, and for non-root installations, see Linux installer in the Connext Developer guide for quick instructions or Installing a Free Version above for detailed instructions.

1.3. Installing Add-on Products

After installing Connext, you can install optional RTI add-on products for additional functionality. The following products are downloaded separately and installed on top of your existing Connext installation.

For information on installing the following add-on products, see Installing Add-ons below:

  • TLS Support - Part of the RTI Security Extensions, TLS Support works with TCP Transport to provide secure communication over Transport Layer Security (TLS). For more information, see Choosing the Right Technology to Protect Your Data in the RTI Security Plugins User’s Manual.

  • Limited Bandwidth Plugins - This set of plugins optimizes DDS communication over constrained networks. For more information, see the RTI Limited Bandwidth Plugins User’s Manual.

  • Real-Time WAN Transport - This transport enables communication over wide area networks. For more information, see the RTI Real-Time WAN Transport chapter in the RTI Connext Core Libraries User’s Manual.

For installation instructions on RTI’s other add-on products, see the relevant documentation, linked below:

  • RTI Security Plugins, part of the RTI Security Extensions, include a robust set of security capabilities, including authentication, encryption, access control, and logging.

  • Cloud Discovery Service is a stand-alone RTI service that enables DDS discovery in environments where multicast is not available.

  • DDS Toolkit for LabVIEW enables LabVIEW applications to communicate using DDS (see “Toolkit for LabVIEW Releases” on the RTI Community Portal).

  • Queuing Service (Experimental) brokers interactions between message producers and consumers, delivering each message to only one consumer.

  • Ada Language Support enables developers to use Ada to develop DDS applications.

1.3.1. Downloading Add-ons

Download add-on RTI products from the RTI Customer Portal. For installations that require host and target bundles, both bundles must be downloaded and installed. For information about the two bundle types, see Installing a Commercial Version, above.

TLS Support requires OpenSSL. If you installed the Connext license-managed (“lm”) version, it already includes a prebuilt version of OpenSSL.

Download the following TLS Support packages to a location of your choice:

  • rti_tls_support-<connext_version>-host-openssl-<openssl3_version>-<host_platform>.rtipkg

  • rti_tls_support-<connext_version>-target-openssl-<openssl3_version>-<target_architecture>.rtipkg

To install OpenSSL, download:

  • openssl-<openssl3_version>-<connext_version>-host-<host_platform>.rtipkg (optional)

  • openssl-<openssl3_version>-<connext_version>-target-<target_architecture>.rtipkg (required)

The target package includes OpenSSL distribution files to link against your application.

The OpenSSL host package includes the OpenSSL distribution files for RTI Infrastructure Services and Tools. This package is needed only if you plan to run RTI Infrastructure Services and Tools with TLS Support.

Note

The OpenSSL target packages for cross-compiled architectures such as QNX do not include the OpenSSL executable.

To see which platforms support TLS Support, consult the RTI Connext Core Libraries Platform Notes (see the Security Extensions section of the Supported Features tables in the chapter for your operating system).

Package names differ depending on your Connext version, package type, and architecture. See Installing a Commercial Version, above.

1.3.2. Installing Add-ons

Install the product’s host and target .rtipkg files on top of Connext using RTI Launcher or the command line. Always install the host package first, followed by the target package.

<NDDSHOME> refers to your Connext installation directory, rti_connext_dds-<version>. See Paths Mentioned in Documentation for more information.

From RTI Launcher:

Start RTI Launcher in your Connext installation (<NDDSHOME>/bin/rtilauncher), select the Configuration tab, and click on Install RTI Packages. Add the location of your package file, then click Install. Repeat for all TLS Support and OpenSSL packages (including the optional OpenSSL host package, if using).

From the command line:

Open a command prompt and change to the rti_connext_dds-<version>/bin directory.

Use rtipkginstall to install each package. For example (enter on one line):

rtipkginstall /home/<your user name>/Downloads/rti_connext_dds-<version>-lm-target-<target_platform>.rtipkg

After installing the TLS Support and OpenSSL packages:

  1. The TLS libraries are installed in <NDDSHOME>/lib/<architecture>. Add this path to your library search path (pointed to by the LD_LIBRARY_PATH environment variable on Linux systems), if not already included. For example:

    export LD_LIBRARY_PATH=<NDDSHOME>/lib/<architecture>:${LD_LIBRARY_PATH}
    
  2. The OpenSSL target libraries are installed in <NDDSHOME>/third_party/openssl-<version>/<architecture>. Add the OpenSSL lib directory to your library search path. For example, assuming you want to use the “release” version of the OpenSSL libraries:

    export LD_LIBRARY_PATH= <NDDSHOME>/third_party/openssl-<version>/<architecture>/release/lib:${LD_LIBRARY_PATH}
    
  3. Only on cross-compiled architectures: The OpenSSL target package for cross-compiled architectures does not include the OpenSSL executable in the bin directory. If you require the OpenSSL executable (e.g., to generate identity certificates), you need to download and install the OpenSSL target package for an architecture that is not cross-compiled. Once the package is installed, add it to your PATH as described in the next step.


  4. Include the OpenSSL bin directory in your PATH. For example, assuming you want to use the “release” version of the OpenSSL libraries (enter the command all on one line):

    export PATH=<NDDSHOME>/third_party/openssl-<version>/<architecture>/release/bin:${PATH}
    
  5. To verify your OpenSSL installation, enter:

    openssl version
    

    You should see a response similar to:

    OpenSSL 3.5.5
    

    If the version displayed does not match the version you installed, your PATH may be pointing with a higher precedence to a different version of OpenSSL. You may need to place the version you just installed first or earlier in your PATH.

You may run into this OpenSSL warning:

WARNING: can't open config file: [default openssl built-in path]/openssl.cnf

To resolve this warning, set the OPENSSL_CONF environment variable to point to the openssl.cnf file in your OpenSSL installation. For example:

set OPENSSL_CONF=<NDDSHOME>/third_party/openssl-<version>/<architecture>/release/ssl/openssl.cnf

To see a simple “Hello, World” example application that uses TCP and TLS, look in the hello_world_tcp example directory for C. See Paths Mentioned in Documentation for the path to the examples.

See also TCP/TLS Transport Properties in the Connext Core Libraries User’s Manual.

After installing, see Checking What is Installed and License Management.

1.4. Telemetry Data Collected by Free Version

After installing Connext, you will see a TELEMETRY_DATA.json file, which is stored in the following locations:

/home/<your user name>/.rti/<version>/telemetry/

Although you will see the TELEMETRY_DATA.json file in all Connext installations, it will be shared with RTI only when using a free bundle (with “lm” in the bundle name) and if usage data sharing is enabled.

If your license file contains Telemetry=off or does not contain the Telemetry parameter at all, then the TELEMETRY_DATA.json file will never be shared with RTI, even if you are using a license-managed bundle.

If your license file contains Telemetry=on, the TELEMETRY_DATA.json file will be shared with RTI by default. To prevent usage data from being shared, set the environment variable RTI_TELEMETRY_OPTOUT before running any RTI product or application that uses RTI libraries. You can disable usage data sharing by setting RTI_TELEMETRY_OPTOUT to any of the following values: 1, true, yes, or on.

Attention

Do not modify the license file. Use the environment variable RTI_TELEMETRY_OPTOUT to disable usage data sharing.

At RTI, we are committed to protecting your privacy. For additional information regarding RTI’s emphasis on privacy by design and related information, please visit https://www.rti.com/privacy.

1.5. Checking What is Installed

To find out what target libraries or add-ons you have installed, you can use the Launcher tool. See Starting Launcher in the Launcher User’s Manual. Once in Launcher, open the Configuration tab:

Check What Is Installed

To check which target architectures you have installed, click on Connext Target Libraries, which will show you each installed target library and its version.

If you do not see any target libraries listed, you are missing a vital part of the Connext SDK, and you will not be able to compile your own applications. You can still run tools such as RTI Admin Console.

To check your Python API installation, run:

$ pip show rti.connext

or

$ pip show rti.connext.activated

See also License Management.

1.6. Troubleshooting Installation

1.6.1. Troubleshooting Python API Installation

1.6.1.1. resource/python_api under Connext installation directory doesn’t exist

Make sure you have installed a host package. The free installers don’t include rti.connext.activated. If you have a free installer, install rti.connext (see Installing Python) and make sure your license file is accessible: for example, by copying rti_license.dat to the current directory, where you launch your Python application.

1.6.1.2. pip install fails with ERROR: Could not find a version that satisfies the requirement rti.connext

If you get this error while installing the Python API with pip install, you may have to upgrade pip:

$ pip install --upgrade pip

If the installation still fails after that, make sure your Python version is supported. For information on which platforms and Python versions the Python API is supported on, see the Core Libraries Platform Notes.

1.6.1.3. pip install fails because I don’t have permissions to install packages

You can use a virtual environment to install packages without requiring admin privileges. To create a virtual environment, run the following commands:

$ python -m venv myvenv
$ . myvenv/bin/activate
$ pip install rti.connext

For more information about installing Python packages with pip, see the Python documentation: Virtual Environments and Packages.

1.6.1.4. I get “No module named ‘rti’” when I run my Python application

Make sure you have installed the Python API for your current Python interpreter and/or virtual environment. See Installing Commercial Python, C#, or Ada Packages (for a commercial installation) or Installing Python (for a free installation).

If you still get that or a similar error, try reinstalling it by adding --force-reinstall to the pip install command.

1.6.2. Troubleshooting Linux Desktop Shortcuts

On some Linux operating systems, executing the desktop shortcut for Launcher might report that the application has not been marked as trusted. This is a harmful warning that will prevent you from executing Launcher using the desktop shortcut. To remove this warning, click “Trust and Launch”:

Launcher Warning on Linux Systems


This will mark the desktop shortcut as a trusted application, allowing you to run the application. If the warning doesn’t appear and the desktop shortcut still doesn’t run, right-click the shortcut and click “Allow Launching”:

Allow Launcher


On some Linux operating systems, the desktop shortcut might not execute and will need to be run through the terminal or in the Activities panel. In some newer versions of GNOME, the “Allow Launching” option is missing from the context menu, preventing the desktop shortcut from being run. Launcher can still be run from the Activities panel:

Launcher in Activities Panel


Or you can run Launcher through the terminal by entering the following command:

gtk-launch rtilauncher.desktop

1.7. Next Steps

Check out the following resources:

  • Getting Started:

    • Visit the Connext Developer page to explore Connext concepts in short, independent modules that help you implement common distributed systems patterns (publish-subscribe, RPC, content filtering, data persistence, and so on) and design, debug, and deploy observable and secure systems.

    • See the Connext Getting Started Guide for an in-depth guided tutorial that helps you build and run your first Connext-based application while learning foundational concepts of Connext.

  • Github Examples: In addition to the basic examples in your rti_workspace directory, you can find over 50 examples on how to use specific Connext features in the rticonnextdds-examples section on GitHub. Examples include asynchronous publication, compression, FlatData™, network capture, discovery (including builtin topics), DynamicData, and many more.

  • Launcher: From Launcher, right-click each icon to access documentation about that component. See the Launcher User’s Manual.

  • Platform Notes:

    • The RTI Connext Core Libraries Platform Notes describe how to build applications for your operating system. They include information on OS-specific limitations and features, and detail which Connext libraries you’ll need to link with your application to enable various capabilities.

    • See also the platform-specific addenda to help you get Connext up and running quickly on specific systems. Find these addenda in ../doc/manuals/connext_dds_professional/getting_started_platforms in your rti_connext_dds-<version> installation directory.

  • And more: Find additional documentation and user forums on https://community.rti.com/.