ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    SDK package versions and voxl-cross container versions

    VOXL SDK
    2
    3
    26
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      ianjsherman
      last edited by

      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) 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?

      James StrawsonJ 1 Reply Last reply Reply Quote 0
      • James StrawsonJ
        James Strawson ModalAI Team @ianjsherman
        last edited by

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

        James StrawsonJ 1 Reply Last reply Reply Quote 0
        • James StrawsonJ
          James Strawson ModalAI Team @James Strawson
          last edited by

          @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}")

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Powered by NodeBB | Contributors