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

    unable to build voxl-tflite-server in voxl-cross

    Support Request Format for Best Results
    2
    2
    8
    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.
    • P
      paul.foley
      last edited by paul.foley

      Hello,
      I'm trying to build voxl-tflite-server in voxl cross. Below is my setup:

      • voxl-cross:V4.0

      • voxl-tflite-server

        • cloned repo at this commit https://gitlab.com/voxl-public/voxl-sdk/services/voxl-tflite-server/-/commit/adbed8cd3fc7c08956a1a1e0759f344bc0285054

      Host system:

      • OS: Red Hat Enterprise Linux 9.6 (Plow)
      • Docker:

      docker version
      Client: Docker Engine - Community
      Version: 28.3.1
      API version: 1.51
      Go version: go1.24.4
      Git commit: 38b7060
      Built: Wed Jul 2 20:58:10 2025
      OS/Arch: linux/amd64
      Context: default

      Server: Docker Engine - Community
      Engine:
      Version: 28.3.1
      API version: 1.51 (minimum version 1.24)
      Go version: go1.24.4
      Git commit: 5beb93d
      Built: Wed Jul 2 20:56:24 2025
      OS/Arch: linux/amd64
      Experimental: false
      containerd:
      Version: 1.7.27
      GitCommit: 05044ec0a9a75232cad458027ca83437aae3f4da
      runc:
      Version: 1.2.5
      GitCommit: v1.2.5-0-g59923ef
      docker-init:
      Version: 0.19.0
      GitCommit: de40ad0

      I followed the instructions in voxl-tflite-server/README.md. I'm able to launch voxl-cross with the voxl-tflite-server repo directory mounted in the container. I ran the following command and got the following results.

      /home/root# ./install_build_deps.sh qrb5165 dev
      using qrb5165 dev debian repo
      Ign:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ InRelease
      Ign:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Release
      Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ Packages [25.4 kB]
      Fetched 25.4 kB in 1s (46.8 kB/s)    
      Reading package lists... Done
      installing: 
      libmodal-pipe
      libmodal-json
      voxl-opencv
      qrb5165-tflite
      Reading package lists... Done
      Building dependency tree       
      Reading state information... Done
      The following NEW packages will be installed:
        libmodal-json:arm64 libmodal-pipe:arm64 qrb5165-tflite:arm64 voxl-opencv:arm64
      0 upgraded, 4 newly installed, 0 to remove and 2 not upgraded.
      Need to get 24.8 MB of archives.
      After this operation, 0 B of additional disk space will be used.
      Get:1 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-json 0.4.7-202505011742 [46.9 kB]
      Get:2 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ libmodal-pipe 2.13.4-202507031002 [118 kB]
      Get:3 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ qrb5165-tflite 2.8.0-2-202210071637 [11.0 MB]
      Get:4 http://voxl-packages.modalai.com ./dists/qrb5165/dev/binary-arm64/ voxl-opencv 4.5.5-3-202504301748 [13.6 MB]
      Fetched 24.8 MB in 4s (6792 kB/s)            
      debconf: unable to initialize frontend: Dialog
      debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 4.)
      debconf: falling back to frontend: Readline
      Selecting previously unselected package libmodal-json:arm64.
      (Reading database ... 31293 files and directories currently installed.)
      Preparing to unpack .../libmodal-json_0.4.7-202505011742_arm64.deb ...
      Unpacking libmodal-json:arm64 (0.4.7-202505011742) ...
      Selecting previously unselected package libmodal-pipe:arm64.
      Preparing to unpack .../libmodal-pipe_2.13.4-202507031002_arm64.deb ...
      Unpacking libmodal-pipe:arm64 (2.13.4-202507031002) ...
      Selecting previously unselected package qrb5165-tflite:arm64.
      Preparing to unpack .../qrb5165-tflite_2.8.0-2-202210071637_arm64.deb ...
      Unpacking qrb5165-tflite:arm64 (2.8.0-2-202210071637) ...
      Selecting previously unselected package voxl-opencv:arm64.
      Preparing to unpack .../voxl-opencv_4.5.5-3-202504301748_arm64.deb ...
      Unpacking voxl-opencv:arm64 (4.5.5-3-202504301748) ...
      Setting up libmodal-json:arm64 (0.4.7-202505011742) ...
      Setting up qrb5165-tflite:arm64 (2.8.0-2-202210071637) ...
      Setting up voxl-opencv:arm64 (4.5.5-3-202504301748) ...
      Setting up libmodal-pipe:arm64 (2.13.4-202507031002) ...
      Processing triggers for libc-bin (2.31-0ubuntu9.17) ...
      
      Done installing dependencies
      

      Installing dependencies seems to complete successfully. Trying to build results in the following.

      /home/root# ./build.sh qrb5165
      CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
        Compatibility with CMake < 3.10 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      
      
      WARN you're using a deprecated toolchain, please use the new toolchains:
      WARN qrb5165_ubun1_18.04_aarch64.toolchain.cmake
      WARN qrb5165_ubun2_20.04_aarch64.toolchain.cmake
      -- ---------------------------------------------------------
      -- Using voxl-cross 64-bit toolchain for QRB5165 ubun1 18.04
      -- C Compiler     : /usr/bin/aarch64-linux-gnu-gcc-10
      -- C++ Compiler   : /usr/bin/aarch64-linux-gnu-g++-10
      -- Sysroot        : /opt/sysroots/qrb5165_1
      -- C flags        : -idirafter /usr/include -march=armv8.2-a
      -- CXX flags      : -idirafter /usr/include -march=armv8.2-a
      -- EXE Link Flags : -L/opt/sysroots/qrb5165_1/usr/lib/aarch64-linux-gnu -L/opt/sysroots/qrb5165_1/lib -L/opt/sysroots/qrb5165_1/usr/lib -L/usr/lib64 -L/usr/lib
      -- SO Link Flags  : -L/opt/sysroots/qrb5165_1/usr/lib/aarch64-linux-gnu -L/opt/sysroots/qrb5165_1/lib -L/opt/sysroots/qrb5165_1/usr/lib -L/usr/lib64 -L/usr/lib
      WARN you're using a deprecated toolchain, please use the new toolchains:
      WARN qrb5165_ubun1_18.04_aarch64.toolchain.cmake
      WARN qrb5165_ubun2_20.04_aarch64.toolchain.cmake
      -- The C compiler identification is GNU 10.5.0
      -- The CXX compiler identification is GNU 10.5.0
      -- Detecting C compiler ABI info
      WARN you're using a deprecated toolchain, please use the new toolchains:
      WARN qrb5165_ubun1_18.04_aarch64.toolchain.cmake
      WARN qrb5165_ubun2_20.04_aarch64.toolchain.cmake
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc-10 - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      WARN you're using a deprecated toolchain, please use the new toolchains:
      WARN qrb5165_ubun1_18.04_aarch64.toolchain.cmake
      WARN qrb5165_ubun2_20.04_aarch64.toolchain.cmake
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++-10 - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      CMake Deprecation Warning at src/CMakeLists.txt:1 (cmake_minimum_required):
        Compatibility with CMake < 3.10 will be removed from a future version of
        CMake.
      
        Update the VERSION argument <min> value or use a ...<max> suffix to tell
        CMake that the project does not need compatibility with older versions.
      
      
      -- Configuring done (1.2s)
      -- Generating done (0.1s)
      -- Build files have been written to: /home/root/build
      [  6%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/config_file.cpp.o
      In file included from /home/root/src/config_file.cpp:1:
      /home/root/src/../include/config_file.h:37:10: fatal error: modal_json.h: No such file or directory
         37 | #include <modal_json.h>
            |          ^~~~~~~~~~~~~~
      compilation terminated.
      make[2]: *** [src/CMakeFiles/voxl-tflite-server.dir/build.make:79: src/CMakeFiles/voxl-tflite-server.dir/config_file.cpp.o] Error 1
      make[1]: *** [CMakeFiles/Makefile2:106: src/CMakeFiles/voxl-tflite-server.dir/all] Error 2
      make: *** [Makefile:136: all] Error 2
      

      Based on the warning about the deprecated toolchain, I updated TOOLCHAIN_QRB5165 in build.sh

      TOOLCHAIN_QRB5165="/opt/cross_toolchain/qrb5165_ubun1_18.04_aarch64.toolchain.cmake"
      

      I also tried

      TOOLCHAIN_QRB5165="/opt/cross_toolchain/qrb5165_ubun2_20.04_aarch64.toolchain.cmake"
      

      That got rid of the warnings but I still got the error about

      /home/root/src/../include/config_file.h:37:10: fatal error: modal_json.h: No such file or directory
         37 | #include <modal_json.h>
            |          ^~~~~~~~~~~~~~
      

      I verified that modal_json.h is in /usr/include

      /home/root# ls -l  /usr/include/modal_json.h 
      -rw-r--r--. 1 root root 15619 May  2 00:42 /usr/include/modal_json.h
      

      I modified voxl-tflite-server/src/CMakeLists.txt to explicitly include /usr/include but that didn't help.

      include_directories(
          /usr/include/
          ../include/
          ..include/model_helper/
      

      I then created /tmp/include as a softlink to /usr/include

      root@artb-vm9-dev11:/tmp# ls -l
      total 0
      drwxr-xr-x. 2 root root  6 Jul  8 20:16 bionic-pkgs
      lrwxrwxrwx. 1 root root 13 Jul  9 00:17 include -> /usr/include/
      

      I modified voxl-tflite-server/src/CMakeLists.txt to explicitly include /tmp/include and that fixed the compilation error and everything compiled. .

      include_directories(
          /tmp/include/
          ../include/
          ..include/model_helper/
      

      However, then it failed when linking.

      [ 73%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/model_helper/yolov5_model_helper.cpp.o
      [ 80%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/model_helper/yolov8_model_helper.cpp.o
      [ 86%] Building C object src/CMakeFiles/voxl-tflite-server.dir/resize.c.o
      [ 93%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/utils.cpp.o
      [100%] Linking CXX executable voxl-tflite-server
      /usr/lib/gcc-cross/aarch64-linux-gnu/10/../../../../aarch64-linux-gnu/bin/ld: cannot find -lsync
      /usr/lib/gcc-cross/aarch64-linux-gnu/10/../../../../aarch64-linux-gnu/bin/ld: cannot find -lsync
      collect2: error: ld returned 1 exit status
      make[2]: *** [src/CMakeFiles/voxl-tflite-server.dir/build.make:308: src/voxl-tflite-server] Error 1
      make[1]: *** [CMakeFiles/Makefile2:106: src/CMakeFiles/voxl-tflite-server.dir/all] Error 2
      make: *** [Makefile:136: all] Error 2
      

      I could try installing the missing sync library but based on the prior issues I encountered it seems like maybe I need to use different versions of voxl-cross and voxl-tflite-server. Ultimately I'm targeting a Starling 2 Max. Here is the configuration for that:

      voxl2:/$ voxl-version 
      --------------------------------------------------------------------------------
      system-image: 1.8.02-M0054-14.1a-perf
      kernel:       #1 SMP PREEMPT Mon Nov 11 22:59:41 UTC 2024 4.19.125
      --------------------------------------------------------------------------------
      hw platform:  M0054
      mach.var:     1.2.1
      --------------------------------------------------------------------------------
      voxl-suite:   1.4.1
      --------------------------------------------------------------------------------
      Packages:
      Repo:  http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.4/binary-arm64/
      Last Updated: 2023-03-02 12:58:40
      WARNING: repo file has changed since last update,
              packages may have originated from a different repo
      List:
      kernel-module-voxl-fsync-mod-4.19.125     1.0-r0
      kernel-module-voxl-gpio-mod-4.19.125      1.0-r0
      kernel-module-voxl-platform-mod-4.19.125  1.0-r0
      libfc-sensor                              1.0.7
      libmodal-cv                               0.5.16
      libmodal-exposure                         0.1.3
      libmodal-journal                          0.2.2
      libmodal-json                             0.4.3
      libmodal-pipe                             2.10.6
      libqrb5165-io                             0.4.9
      libvoxl-cci-direct                        0.2.5
      libvoxl-cutils                            0.1.1
      modalai-slpi                              1.1.19
      mv-voxl                                   0.1-r0
      qrb5165-bind                              0.1-r0
      qrb5165-dfs-server                        0.2.0
      qrb5165-imu-server                        1.1.2
      qrb5165-rangefinder-server                0.1.4
      qrb5165-slpi-test-sig                     01-r0
      qrb5165-system-tweaks                     0.3.4
      qrb5165-tflite                            2.8.0-2
      voxl-bind-spektrum                        0.1.1
      voxl-camera-calibration                   0.5.9
      voxl-camera-server                        2.1.1
      voxl-ceres-solver                         2:1.14.0-10
      voxl-configurator                         0.9.7
      voxl-cpu-monitor                          0.5.3
      voxl-docker-support                       1.3.1
      voxl-elrs                                 0.4.1
      voxl-esc                                  1.5.1
      voxl-feature-tracker                      0.5.2
      voxl-flow-server                          0.3.6
      voxl-fsync-mod                            1.0-r0
      voxl-gphoto2-server                       0.0.10
      voxl-gpio-mod                             1.0-r0
      voxl-io-server                            0.0.4
      voxl-jpeg-turbo                           2.1.3-5
      voxl-lepton-server                        1.3.3
      voxl-lepton-tracker                       0.0.4
      voxl-libgphoto2                           0.0.4
      voxl-libuvc                               1.0.7
      voxl-logger                               0.4.9
      voxl-mavcam-manager                       0.5.7
      voxl-mavlink                              0.1.1
      voxl-mavlink-server                       1.4.4
      voxl-modem                                1.1.5
      voxl-mongoose                             7.7.0-1
      voxl-mpa-to-ros                           0.3.9
      voxl-mpa-tools                            1.3.7
      voxl-open-vins                            0.4.16
      voxl-open-vins-server                     0.3.0
      voxl-opencv                               4.5.5-2
      voxl-osd                                  0.1.1
      voxl-platform-mod                         1.0-r0
      voxl-portal                               0.7.5
      voxl-px4                                  1.14.0-2.0.94
      voxl-px4-imu-server                       0.1.2
      voxl-px4-params                           0.6.3
      voxl-qvio-server                          1.1.1
      voxl-remote-id                            0.0.9
      voxl-reset-slpi                           0.0.1
      voxl-state-estimator                      0.0.4
      voxl-streamer                             0.7.5
      voxl-suite                                1.4.1
      voxl-tag-detector                         0.0.4
      voxl-tflite-server                        0.3.9
      voxl-utils                                1.4.4
      voxl-uvc-server                           0.1.7
      voxl-vision-hub                           1.8.17
      voxl-vtx                                  1.1.8
      voxl2-io                                  0.0.3
      voxl2-system-image                        1.8.02-r0
      voxl2-wlan                                1.0-r0
      --------------------------------------------------------------------------------
      

      Any guidance would be greatly appreciated.

      Thank you,
      Paul

      tomT 1 Reply Last reply Reply Quote 0
      • tomT
        tom admin @paul.foley
        last edited by

        @paul-foley See here: https://forum.modalai.com/post/22907

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