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

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

    Modal Pipe Architecture (MPA)
    2
    3
    110
    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.
    • monkescriptsM
      monkescripts
      last edited by

      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 Reply Quote 0
      • Alex KushleyevA
        Alex Kushleyev ModalAI Team @monkescripts
        last edited by 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 1 Reply Last reply Reply Quote 0
        • monkescriptsM
          monkescripts @Alex Kushleyev
          last edited by

          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 Reply Quote 0
          • First post
            Last post
          Powered by NodeBB | Contributors