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

Source: https://forum.modalai.com/topic/4784/be-careful-building-voxl-cross-on-older-sdks-other-than-v1-50-0
Category: VOXL SDK and Software (https://forum.modalai.com/category/47/voxl-sdk-and-software)
Tags: mpa
Posted: 2025-09-30 08:49:38 UTC by monkescripts
Replies: 2 · Views: 2195

## monkescripts · 2025-09-30 08:49:38 UTC

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](https://forum.modalai.com/assets/uploads/files/1759222095832-8b2d48e3-55f9-44c9-ba82-84034d7b6e5d-image.png) 
![6d1ff0bc-bfd4-4243-8e58-2b5f5ec88342-image.png](https://forum.modalai.com/assets/uploads/files/1759221633546-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.

## Reply by Alex Kushleyev (ModalAI staff) · 2025-10-01 01:13:18 UTC

@monkescripts said in [Be careful building voxl\-cross on older SDKS \(Other than V1\.50\.0\)](/post/23961):
> 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

## Reply by monkescripts · 2025-10-01 06:49:29 UTC (in reply to Alex Kushleyev)

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