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:

All use of commercial and license-managed 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 x64Darwin 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 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.0.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.6.0-pro-host-x64Linux.run

  • Example target bundle name: rti_connext_dds-pro-target-7.6.0-armv8Linux4gcc8.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.

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

Platform-dependent

Windows Example: “C:\program files\rti_connext_dds-7.6.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 license-managed package, see Installing License-Managed 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_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_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 License-Managed Version

A license-managed package (with “lm” 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.

The “lm” trial package includes Connext Professional, RTI Real-Time WAN Transport, Cloud Discovery Service, Security Plugins, and OpenSSL® version 3.5.1. (The installer provides a prebuilt version of OpenSSL 3.5.1. If you wish to build your own version of OpenSSL 3.5.1, 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.6.0-lm-x64Win64VS2017.exe combines the x64Win64 host with the x64Win64VS2017 target in a single bundle. See Installing a Single Bundle. For platforms that contain Arm or 32-bit x86 CPUs, you must download and install an extra package. See Installing Two Bundles (for Arm or 32-bit x86 CPUs).

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

Note

License-managed (“lm”) packages cannot be installed in “unattended mode.”

1.2.1. Installing a Single Bundle

Follow these steps for installing an “lm” bundle if your target architecture does not have an Arm or 32-bit x86 CPU:

  1. Download the “lm” bundle (for example: rti_connext_dds-7.6.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>-pro-host-<host-platform>.run
    
  3. See Checking What is Installed and License Management.

1.2.2. Installing Two Bundles (for Arm or 32-bit x86 CPUs)

License-managed (“lm”) distributions with an Arm or 32-bit x86 CPU require you to install two bundles:

Note

“lm” bundles that are not an Arm or 32-bit x86 CPU do not require installing these target packages:

  • A combined host/target bundle (.run, .exe, or .dmg), such as rti_connext_dds-7.6.0-lm-x64Linux4gcc8.5.0.run.

  • A separate “lm” target package (.rtipkg) for the specific target architecture, such as rti_connext_dds-7.6.0-lm-target-armv8Linux4gcc8.5.0.rtipkg.

For example, suppose your target machine uses Ubuntu 18.04 LTS on an Arm v8 CPU. RTI does not currently provide a combined “lm” host/target bundle for this architecture. So first you would install an “lm” bundle for any Linux architecture, then install the “lm” target package for your Ubuntu 18.04 LTS target on an Arm v8 CPU.

After installing the host bundle as described in Installing a Single Bundle, follow these steps if your target architecture has an Arm or 32-bit x86 CPU:

For Linux targets with an Arm or 32-bit x86 CPU, you also need to install an “lm” target package.

This package will have lm-target- in the filename. You can install it on top of any “lm” bundle for a Linux architecture. That is, the .run file and the .rtipkg file do not have to use the same Linux architecture string. For example, you can install rti_connext_dds-<version>-lm-target-armv8Linux4gcc8.5.0.rtipkg on top of rti_connext_dds-<version>-lm-x64Linux4gcc8.5.0.run.

There are two ways to install the “lm” target package, from RTI Launcher or from 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.

    <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>-lm-target-<target_platform>.rtipkg
    

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

1.2.3. Installing License-Managed Python or C# Packages

Note

The following instructions are for installing a license-managed 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.

1.2.3.1. Installing Python

To install a license-managed 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 license-managed 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 Single Bundle.

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.3.2. Installing C#

Besides the host package, no additional package needs to be installed to develop Connext applications in C#, for license-managed distributions. Simply reference the Rti.Connext.Extra (or Rti.Connext) NuGet package in your C# project. .NET will automatically download the license-managed 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 Single Bundle.

1.2.4. 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 License-Managed Version above for detailed instructions.

1.3. Telemetry Data Collected by License-Managed 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 license-managed bundle (bundles with “lm” in their 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.4. 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.5. Troubleshooting Installation

1.5.1. Troubleshooting Python API Installation

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

Make sure you have installed a host package. The license-managed installers don’t include rti.connext.activated. If you have a license-managed 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.5.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.5.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.5.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 license-managed installation).

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

1.5.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.6. 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/.