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:
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
Step 4: Verify Installation¶
Verify the packages are installed correctly:
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:
Or use apt:
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: