# SDK package versions and voxl-cross container versions

Source: https://forum.modalai.com/topic/4459/sdk-package-versions-and-voxl-cross-container-versions
Category: VOXL SDK and Software (https://forum.modalai.com/category/47/voxl-sdk-and-software)
Tags: voxl-sdk
Posted: 2025-05-27 19:34:17 UTC by ianjsherman
Replies: 2 · Views: 844

## ianjsherman · 2025-05-27 19:34:17 UTC

I have a Docker-based build pipeline that:
- Inside the `voxl-cross:2.7` container, installs ModalAI packages
```
DEPS="
libmodal-pipe
"
PLATFORM=qrb5165
SECTION=sdk-1.4

# Add to /etc/apt/sources.list.d
DPKG_FILE="/etc/apt/sources.list.d/modalai.list"
LINE="deb [trusted=yes] http://voxl-packages.modalai.com/ ./dists/$PLATFORM/$SECTION/binary-arm64/"
sudo echo "${LINE}" > ${DPKG_FILE}

## Update package index
sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/modalai.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"

## Install dependencies
sudo apt install -y $DEPS
``` 

- Inside the same container, builds my application

Over the weekend my build broke due to an incompatibility between the newly released `libmodal-pipe_2.13.1_arm64.deb` ([released to the sdk-1.4 apt repository](http://voxl-packages.modalai.com/dists/qrb5165/sdk-1.4/binary-arm64/)) and the voxl-cross:2.7 build container.

My workaround has been to pin the version of the libmodalpipe apt package I install: `libmodal-pipe=2.10.6`.

How should I think about versioning guarantees between the SDK version and the voxl-cross container version? Should I expect packages in a given SDK version to continue to build in a given voxl-cross container version? Or is your recommendation to live at the bleeding edge of the voxl-cross container version?

## Reply by James Strawson (ModalAI staff) · 2025-05-29 17:35:26 UTC

@ianjsherman While we are slowly migrating packages to build in a new build environment, the API for libmodal_pipe should not have changed and installing the new binary package in voxl-cross 2.7 into order to build and link against should not have broken. Do you mind sharing what exactly broke in your build as there might have been something that I missed.

## Reply by James Strawson (ModalAI staff) · 2025-05-29 21:00:31 UTC (in reply to James Strawson)

@James-Strawson

hmmm, by any chance are you failing to link against symbols from libgmb.so? That is a new library dependency of libmodal_pipe. Most of our packages use the following linker flags to avoid recursive linking, I think this would be a better solution than specifying the libmodal_pipe version in install_build_deps.sh

set(CMAKE_C_FLAGS   "-Wl,--unresolved-symbols=ignore-in-shared-libs ${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "-Wl,--unresolved-symbols=ignore-in-shared-libs ${CMAKE_CXX_FLAGS}")
