3. Install Connext for Debian

3.1. Basic Installation

After configuring access to RTI’s public APT repository, use the rti-connext-dds-<version> metapackage to install a full version of Connext:

sudo apt-get install rti-connext-dds-<version>

The installation, under /opt/rti.com/rti_connext_dds-<version>, 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.

Important

To successfully install an RTI Debian package, an interactive terminal and user input are required. When prompted to review the RTI License Agreement, you must accept its terms.

The installation process will fail if the user input cannot be gathered, or if the terms are refused.

See Non-interactive Installation for information on how to install Connext in unattended environments.

3.2. Loading Connext

The Debian packages include a license-managed version of Connext that requires a valid RTI license file to be made available on the system.

3.2.1. Evaluation License

To get a free evaluation license file, go to https://www.rti.com/free-trial.

After completing a brief form, you will receive an email with the license file, rti_license.dat. Save this file to a location on your system.

3.2.2. Configure Connext Environment

The rtienv utility is used to manage the environment for Connext. When Connext is installed with Debian packages, you can easily configure your evironment using rtienv. Use the following command to specify your license file and activate it for the current user:

# Load the default RTI Connext installation using a custom license file path
eval $(rtienv -l <path to rti_license.dat>)

Upon running the above command:

  • All Connext components are automatically added to the shell’s PATH.

  • The Connext C/C++ libraries are loaded through LD_LIBRARY_PATH.

  • The license file is exported through RTI_LICENSE_FILE.

To install a license file globally for all users on the system, copy rti_license.dat into the Connext installation directory (/opt/rti.com/rti_connext_dds-<version>):

# Install license file as root
sudo cp /path/to/rti_license.dat /opt/rti.com/rti_connext_dds-<version>/rti_license.dat

# Users can now load Connext without specifying a license file
eval $(rtienv)

The global license file is preserved between upgrades, and it is automatically deleted once you purge the package rti-connext-dds-<version>-common from your system.

3.3. Customized Installation

You can customize your Connext installation by only installing packages for the components required by your system.

Use the following command to see a full list of all available Connext packages:

apt-cache search rti-connext-dds-<version>

The following table summarizes some of the most common use cases and the packages required for each:

Package

Use Case

rti-connext-dds-<version>-lib

Run a C/C++/Java application using the Connext Core APIs

rti-connext-dds-<version>-lib-dbg

Debug a C/C++/Java application using the Connext Core APIs

rti-connext-dds-<version>-lib-dev

Build a C/C++/Java application using the Connext Core APIs

rti-connext-dds-<version>-rtiddsgen

Generate code using RTI Code Generator (rtiddsgen)

rti-connext-dds-<version>-services-all

Install all Connext infrastructure services

rti-connext-dds-<version>-services-<service-name>

Run one of the Connext infrastructure services

rti-connext-dds-<version>-services-<service-name>-dev

Build a C/C++/Java application using the SDK of one of the Connext infrastructure services

rti-connext-dds-<version>-services-<service-name>-dbg

Run one of the Connext infrastructure services in debug mode

rti-connext-dds-<version>-tools-all

Run all Connext tools

rti-connext-dds-<version>-tools-cli

Run one of the Connext command-line tools

rti-connext-dds-<version>-tools-<tool-name>

Run one of the Connext GUI tools

Warning

The following Connext tools and services are only available on amd64 systems:

  • Cloud Discovery Service

  • All Connext GUI Tools

3.4. Non-Interactive Installation

All of the Connext Debian packages depend on the package rti-connext-dds-<version>-common. During installation, this package requires you to explictly agree to the RTI License Agreement. The installation will fail if this input cannot be requested (for example, if the package is being installed from a non-interactive terminal).

The preferred way to enable unattended installation is by pre-configuring your system’s debconf database to accept the RTI License Agreement before installing the package:

# Preseed debconf database
echo "rti-connext-dds-<version>-common rti-connext-dds-<version>/license/accepted select true" |
  sudo debconf-set-selections

# Install rti-connext-dds-<version>-common
sudo apt-get install rti-connext-dds-<version>-common

Your selection is stored in the system database until the installed Debian package is purged (for example, by using the apt purge or apt remove --purge commands).

Alternatively, you can enable an unattended installation by setting the RTI_LICENSE_AGREEMENT_ACCEPTED variable for user root to value accepted. This method is less convenient because environment variables are not automatically propagated by the sudo command; therefore, the following command should only be used from a root shell:

# Switch shell to root
sudo su -

# Set environment variable to accept the RTI License Agreement
export RTI_LICENSE_AGREEMENT_ACCEPTED=accepted

# Install rti-connext-dds-<version>-common
apt-get install rti-connext-dds-<version>-common

3.5. Handling Multiple Versions

The Connext Debian packages allow you to install multiple versions of Connext on the same system. Use the rtienv utility, included with all installed versions of Connext, to easily switch between different versions. rtienv acts as a version alias; by default, it points to the most recent version of Connext installed on the system.

To load the latest Connext version, run the following command:

# Load the most recent RTI Connext on the system
eval $(rtienv)

To load a specific Connext version, use the rtienv alias for that version. For example, to make sure you are using Connext, you would use rtienv-<version>:

# Load RTI Connext explicitly
eval $(rtienv-<version>)

To modify the version used to provision the rtienv alias, use Debian’s update-alternatives command:

  • List available Connext versions:

    update-alternatives --list rtienv
    
  • Print information about the currently selected version:

    update-alternatives --display rtienv
    
  • Manually select a different version from those available:

    sudo update-alternatives --config rtienv
    

To get a list of all versions of Connext installed on your system (ordered from oldest to newest), use the following command:

update-alternatives --list rtienv | xargs -n 1 basename | cut -d- -f2 | sort

3.6. Support for RTI Packages

Warning

Mixing Debian packages and RTI packages in the same Connext installation is not recommended. APT cannot manage files installed by an RTI package, nor differentiate between files installed by an RTI or a Debian package.

After installing Connext Professional using a Debian package, you may want to install additional Connext components using an RTI installation package (*.rtipkg). While it is not recommended, RTI packages can be installed using RTI Launcher or the rtipkginstall CLI command.

RTI Packages must be installed as user root because of the permissions on the Connext installation directory.

  • To install an RTI package from the command line:

    # Install the rtipkg file
    sudo /opt/rti.com/rti_connext_dds-<version>/bin/rtipkginstall <package>.rtipkg
    
  • To install an RTI package using RTI Launcher:

    • Start RTI Launcher as user root:

      # Start RTI Launcher:
      sudo /opt/rti.com/rti_connext_dds-<version>/bin/rtilauncher <package>.rtipkg
      
    • From the Configuration tab, click Install RTI Packages. Add the location of your target file, then click Install.

Installed RTI packages are recorded in the file /opt/rti.com/rti_connext_dds-<version>/rti_versions.xml. This file is marked as a conffile (see Debian Policy Manual), which means that APT will not overwrite nor delete it if you modify it (unless Connext is purged from the system).

When mixing Debian packages and RTI packages in the same installation directory, it is important to keep in mind that APT does not know about files installed by an RTI package. For that reason:

  • Any file installed by a Debian package that is overwritten by an RTI package will be deleted when the Debian package is removed.

  • Any additional files installed by an RTI package into a Debian Connext installation will be left on disk, even when Connext is purged. Any such files must be deleted manually, as in the following example:

    # Make sure Connext is purged from the system
    sudo apt purge rti-connext-dds-<version>-common
    
    # Delete left-over files
    sudo rm -rf /opt/rti.com/rti_connext_dds-<version>/