Installation

This guide covers installing the GVA LDM SDK on Ubuntu/Debian-based systems.

Prerequisites

Before installing, ensure your system meets the following requirements:

  • Ubuntu 22.04 LTS or later (or compatible Debian-based distribution)
  • x86_64 (AMD64) architecture
  • Root/sudo access for package installation

Installing from .deb Packages

The GVA LDM SDK is distributed as a set of Debian packages for easy installation.

Step 1: Download the Packages

Download the latest release packages from the Astute Systems portal or GitHub releases:

# Example package names (versions may vary)
libcyclonedds0_0.11.0-0.2.0_amd64.deb
libcyclonedds-cxx0_0.11.0-0.2.0_amd64.deb
libcyclonedds-dev_0.11.0-0.2.0_amd64.deb
libldm10-dev_0.2.0_amd64.deb
libldm920-dev_0.2.0_amd64.deb
libldm910-dev_0.2.0_amd64.deb

SDK Libraries (libldmXX-dev)

The libldm10-dev, libldm920-dev, and libldm910-dev packages are only needed if you are writing your own GVA services and need to perform registration or publish/subscribe to LDM topics. These packages provide the C++ SDK (headers, libraries, and IDL-generated code) for developing custom applications.

Step 2: Install Dependencies

The packages require some system libraries:

sudo apt update
sudo apt install -y libssl3 libstdc++6 qt6-base-dev

Step 3: Install the Packages

Install the packages in the correct order to satisfy dependencies:

# Install CycloneDDS runtime first
sudo dpkg -i libcyclonedds0_0.11.0-0.2.0_amd64.deb
sudo dpkg -i libcyclonedds-cxx0_0.11.0-0.2.0_amd64.deb

# Install development headers (optional, for building applications)
sudo dpkg -i libcyclonedds-dev_0.11.0-0.2.0_amd64.deb

# Install the LDM version you need
sudo dpkg -i libldm10-dev_0.2.0_amd64.deb

Fix Missing Dependencies

If dpkg reports missing dependencies, run:

sudo apt --fix-broken install

Step 4: Verify Installation

Verify the packages are installed correctly:

dpkg -l | grep -E "(cyclonedds|ldm)"

You should see output similar to:

ii  libcyclonedds0     0.11.0-0.2.0  amd64  Eclipse CycloneDDS runtime
ii  libcyclonedds-cxx0 0.11.0-0.2.0  amd64  CycloneDDS C++ bindings
ii  libldm10-dev       0.2.0         amd64  UK GVA LDM 10.0.0 SDK

Package Contents

CycloneDDS Runtime (libcyclonedds0)

  • DDS middleware shared libraries
  • Required for all GVA applications

CycloneDDS C++ Bindings (libcyclonedds-cxx0)

  • C++ language bindings for CycloneDDS
  • IDL-generated type support

CycloneDDS Development (libcyclonedds-dev)

  • Header files for CycloneDDS
  • CMake configuration files
  • IDL compiler (idlc)

LDM SDK Packages (libldmXX-dev)

Each LDM package contains:

  • Pre-compiled static library with all LDM topics
  • Generated C++ header files from IDL
  • CMake integration files
Package LDM Version IDL Files Description
libldm10-dev 10.0.0 42 Latest UK GVA standard
libldm920-dev 9.2.0 38 Previous UK standard
libldm910-dev 9.1.0 33 Legacy UK standard
libasldm725-dev 7.2.5 28 Australian GVA

Installation Paths

After installation, files are placed in standard system locations:

Content Path
Libraries /usr/local/lib/
Headers /usr/local/include/
CMake configs /usr/local/lib/cmake/
IDL files /usr/local/share/ldm/idl/

Uninstallation

To remove the SDK packages:

sudo dpkg -r libldm10-dev libcyclonedds-dev libcyclonedds-cxx0 libcyclonedds0

Or use apt:

sudo apt remove libldm10-dev libcyclonedds*

Building from Source

If you prefer to build from source, see the GitHub repository for build instructions.

git clone https://github.com/AstuteSystems/ldm.git
cd ldm
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install

Next Steps

After installation:

  1. Set up your licence
  2. Follow the Quick Start guide
  3. Learn about GVA services