Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. Software Development
  3. Modal Pipe Architecture (MPA)
  4. Be careful building voxl-cross on older SDKS (Other than V1.50.0)

Be careful building voxl-cross on older SDKS (Other than V1.50.0)

Scheduled Pinned Locked Moved Modal Pipe Architecture (MPA)
3 Posts 2 Posters 1.6k Views 1 Watching
  • 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.
  • monkescriptsM Offline
    monkescriptsM Offline
    monkescripts
    wrote on last edited by
    #1

    Good day everyone!

    Currently my voxl board is on sdk 1.4.5 and I had to make changes on voxl-vision-hub (1.8.21). I was building the package on voxl-cross:V4.4 and running the relocalization stack. Afterwards, when running voxl-inspect-pose, I came across the error about: ERROR validating pose_vel_6dof_t data received through pipe: 1 of 1 packets failed

    After more digging, it turns out to be a magic number mismatch.
    8b2d48e3-55f9-44c9-ba82-84034d7b6e5d-image.png
    6d1ff0bc-bfd4-4243-8e58-2b5f5ec88342-image.png
    This is because of a recent magic number update in voxl sdk v1.5.0 (https://gitlab.com/voxl-public/voxl-sdk/core-libs/libmodal-pipe/-/blob/master/library/include/pipe_interfaces/magic_number.h?ref_type=heads).

    Based on voxl-cross:V4.4's dockerfile, https://gitlab.com/voxl-public/support/voxl-docker/-/blob/master/voxl-cross/voxl-cross.Dockerfile?ref_type=heads, the sdk is downloaded through RUN wget http://voxl-packages.modalai.com/dists/qrb5165/sdk-1.5/binary-arm64/voxl-opencv_4.5.5-3_arm64.deb

    This results in any package being built by voxl-cross:v4.4 to inherit the new sdk's header files which lead to the magic number mismatch.

    I cannot think of a better fix other than to rebuild the docker container to match your own custom sdk. For others that might face the same problem or are not using V1.5.0 sdk, just be careful about the upstream dependencies(Especially the core libraries) when building voxl-cross.

    Alex KushleyevA 1 Reply Last reply
    0
    • monkescriptsM monkescripts

      Good day everyone!

      Currently my voxl board is on sdk 1.4.5 and I had to make changes on voxl-vision-hub (1.8.21). I was building the package on voxl-cross:V4.4 and running the relocalization stack. Afterwards, when running voxl-inspect-pose, I came across the error about: ERROR validating pose_vel_6dof_t data received through pipe: 1 of 1 packets failed

      After more digging, it turns out to be a magic number mismatch.
      8b2d48e3-55f9-44c9-ba82-84034d7b6e5d-image.png
      6d1ff0bc-bfd4-4243-8e58-2b5f5ec88342-image.png
      This is because of a recent magic number update in voxl sdk v1.5.0 (https://gitlab.com/voxl-public/voxl-sdk/core-libs/libmodal-pipe/-/blob/master/library/include/pipe_interfaces/magic_number.h?ref_type=heads).

      Based on voxl-cross:V4.4's dockerfile, https://gitlab.com/voxl-public/support/voxl-docker/-/blob/master/voxl-cross/voxl-cross.Dockerfile?ref_type=heads, the sdk is downloaded through RUN wget http://voxl-packages.modalai.com/dists/qrb5165/sdk-1.5/binary-arm64/voxl-opencv_4.5.5-3_arm64.deb

      This results in any package being built by voxl-cross:v4.4 to inherit the new sdk's header files which lead to the magic number mismatch.

      I cannot think of a better fix other than to rebuild the docker container to match your own custom sdk. For others that might face the same problem or are not using V1.5.0 sdk, just be careful about the upstream dependencies(Especially the core libraries) when building voxl-cross.

      Alex KushleyevA Offline
      Alex KushleyevA Offline
      Alex Kushleyev
      ModalAI Team
      wrote on last edited by Alex Kushleyev
      #2

      @monkescripts said in Be careful building voxl-cross on older SDKS (Other than V1.50.0):

      RUN wget http://voxl-packages.modalai.com/dists/qrb5165/sdk-1.5/binary-arm64/voxl-opencv_4.5.5-3_arm64.deb

      This line installs only the opencv package into the voxl-cross docker image, it does not install the SDK.

      The mismatch you are referring to is related to to applications being built against one version of header files, while being deployed on a system that has a different version of the corresponding library. In this case, the library is libmodal-pipe, which has had a change affecting the structure of some data types.

      Most likely, what happened was that you hand an older version of SDK and other libraries installed on the VOXL2, but when you built your application using voxl-cross, the step which installs the dependecies (./install_build_deps.sh qrb5165 <....>) pulled in a newer version of the libmodal-pipe library and headers. When the application was deployed to voxl2, at run-time, it linked to the old libmodal-pipe shared library, causing the mismatch.

      There are many updates to libmodal-pipe and most of them do not cause any issues because there are added features, which do not break existing functionality. However, sometimes, a breaking change like this happens..

      Alex

      monkescriptsM 1 Reply Last reply
      0
      • Alex KushleyevA Alex Kushleyev

        @monkescripts said in Be careful building voxl-cross on older SDKS (Other than V1.50.0):

        RUN wget http://voxl-packages.modalai.com/dists/qrb5165/sdk-1.5/binary-arm64/voxl-opencv_4.5.5-3_arm64.deb

        This line installs only the opencv package into the voxl-cross docker image, it does not install the SDK.

        The mismatch you are referring to is related to to applications being built against one version of header files, while being deployed on a system that has a different version of the corresponding library. In this case, the library is libmodal-pipe, which has had a change affecting the structure of some data types.

        Most likely, what happened was that you hand an older version of SDK and other libraries installed on the VOXL2, but when you built your application using voxl-cross, the step which installs the dependecies (./install_build_deps.sh qrb5165 <....>) pulled in a newer version of the libmodal-pipe library and headers. When the application was deployed to voxl2, at run-time, it linked to the old libmodal-pipe shared library, causing the mismatch.

        There are many updates to libmodal-pipe and most of them do not cause any issues because there are added features, which do not break existing functionality. However, sometimes, a breaking change like this happens..

        Alex

        monkescriptsM Offline
        monkescriptsM Offline
        monkescripts
        wrote on last edited by
        #3

        Thank you @Alex-Kushleyev for the clarification. Currently I just redefined the magic numbers on my own and voxl-inspect-pose works as usual. I am hoping that this breaking change only affects a small number of use cases. If anyone else faces the same issue with magic numbers theres at least the discussion that might help them as well 🙂

        1 Reply Last reply
        0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        ModalAI
        Categories Recent Tags ModalAI.com Docs
        © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups