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. voxl-tflite-server forward compatibility ?

voxl-tflite-server forward compatibility ?

Scheduled Pinned Locked Moved Modal Pipe Architecture (MPA)
20 Posts 4 Posters 4.1k Views 2 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.
  • ? Offline
    ? Offline
    A Former User
    wrote on last edited by
    #2

    Hey @Philemon-Benner,

    The gcc compiler version on voxl is 4.9 and there is no straightforward way to upgrade. In order to integrate the tflite-server with some other libraries, they would have to be generated with the same compiler, i.e. built in voxl-cross. This is why we have a collection of third party libs here, as well as why we are limited to using tensorflow v2.2.3.

    If migrating the libraries you are using to a supported c++ version is too difficult, you could use a docker image on target with the extra support you need. This would require rebuilding and running the tflite-server within the docker, but would allow use of modern c++.

    1 Reply Last reply
    0
    • Philemon BennerP Offline
      Philemon BennerP Offline
      Philemon Benner
      Regular
      wrote on last edited by
      #3

      Thank you

      1 Reply Last reply
      0
      • Philemon BennerP Offline
        Philemon BennerP Offline
        Philemon Benner
        Regular
        wrote on last edited by Philemon Benner
        #4

        @Matt-Turi Ok so i got my third party librarys installed with the 865 Compiler given in voxl-cross, but i am getting an error when trying to run it on the voxl:

        Process: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by Process)
        

        i looked that up and about what i found out is that the compiler version is too old for it, i don't really know what CXXABI_1.3.11 is but the voxl only has CXXABI_1.3.10. Is the 865 toolchain for something else? And where are the differences in 820 and 865?

        1 Reply Last reply
        0
        • ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #5

          Hey @Philemon-Benner,

          The toolchain you used is a gcc-7 compiler that is included in voxl-cross is for our qrb5165 based platforms, and is a bit ahead of what is on voxl. You would need to use the gcc-4.9 toolchain, i.e. aarch64-gnu-4.9.toolchain.cmake to fix the c++ issues you are seeing.

          1 Reply Last reply
          0
          • Philemon BennerP Offline
            Philemon BennerP Offline
            Philemon Benner
            Regular
            wrote on last edited by
            #6

            @Matt-Turi Okey but that's weird to me because in qrb5165-emulator you have a gcc-7 compiler. Libs like libuvc from voxl-uvc-server are being built with it. There i had no issues including that to the tflite-server and running it on the voxl.

            1 Reply Last reply
            0
            • ? Offline
              ? Offline
              A Former User
              wrote on last edited by
              #7

              libuvc for voxl is built in voxl-emulator, not the qrb5165 emulator. If you check out the readme on the dev branch, you can see the separate build instructions for separate platforms.

              1 Reply Last reply
              0
              • Philemon BennerP Offline
                Philemon BennerP Offline
                Philemon Benner
                Regular
                wrote on last edited by
                #8

                @Matt-Turi Ok yeah i see. I don't even know why i went to qrb emulator but when building the libuvc library from source in qrb emulator, it still worked for me. I have a running version of it on the Voxl, should that even be possible if it's just made for qrb5165 devices?

                1 Reply Last reply
                0
                • ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #9

                  Ah I see. libuvc is a c library, so the code is backwards compatible with gcc-4.9 and can be compiled with the newer gcc. The libs you are trying to compile are c++, so they are affected by the differences between compiler versions.

                  1 Reply Last reply
                  0
                  • Philemon BennerP Offline
                    Philemon BennerP Offline
                    Philemon Benner
                    Regular
                    wrote on last edited by
                    #10

                    @Matt-Turi Ok good to know.

                    1 Reply Last reply
                    0
                    • Philemon BennerP Offline
                      Philemon BennerP Offline
                      Philemon Benner
                      Regular
                      wrote on last edited by
                      #11

                      @Matt-Turi btw why is voxl-emulator architecture armv7l if we have aarch64 on actual voxl? Will this be a problem when compiling in emulator?

                      Eric KatzfeyE 1 Reply Last reply
                      0
                      • ? Offline
                        ? Offline
                        A Former User
                        wrote on last edited by A Former User
                        #12
                        This post is deleted!
                        1 Reply Last reply
                        0
                        • Philemon BennerP Philemon Benner

                          @Matt-Turi btw why is voxl-emulator architecture armv7l if we have aarch64 on actual voxl? Will this be a problem when compiling in emulator?

                          Eric KatzfeyE Offline
                          Eric KatzfeyE Offline
                          Eric Katzfey
                          ModalAI Team
                          wrote on last edited by
                          #13

                          @Philemon-Benner Voxl is 64 bit and the OS is 64 bit. However, Qualcomm provides many of their packages for the device as 32 bit and, consequently, anything that has a dependency on these packages must also be 32 bit. That is why you can build 64 bit applications and have them run successfully on Voxl. It just means that that application had no 32 bit dependencies.

                          1 Reply Last reply
                          0
                          • Philemon BennerP Offline
                            Philemon BennerP Offline
                            Philemon Benner
                            Regular
                            wrote on last edited by
                            #14

                            Okey thanks for explaining

                            1 Reply Last reply
                            0
                            • Philemon BennerP Offline
                              Philemon BennerP Offline
                              Philemon Benner
                              Regular
                              wrote on last edited by Philemon Benner
                              #15

                              @Matt-Turi
                              I know it's not really related to the voxl but if include directorys in cmake like that:

                              include_directories(/home/root/third_party/AWS/wrkspace/lib)
                              

                              the compiler should find the packages located in there or?

                              [100%] Linking CXX executable Process
                              /usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: cannot find -lDiscovery-cpp
                              /usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: cannot find -lEventstreamRpc-cpp
                              

                              but the linked library is located there:

                              voxl-cross:~(master)$ ls /home/root/third_party/AWS/wrkspace/lib | grep Discovery-cpp
                              Discovery-cpp
                              libDiscovery-cpp.a
                              
                              1 Reply Last reply
                              0
                              • Chad SweetC Offline
                                Chad SweetC Offline
                                Chad Sweet
                                ModalAI Team
                                wrote on last edited by
                                #16

                                Not totally sure what you're asking, but try looking into target_link_libraries in the cmake documentation

                                1 Reply Last reply
                                0
                                • Philemon BennerP Offline
                                  Philemon BennerP Offline
                                  Philemon Benner
                                  Regular
                                  wrote on last edited by
                                  #17

                                  @Matt-Turi Ok so i got it working with CXX17, it's working in voxl-emulator:

                                  voxl-emulator:~$ file program
                                  voxl-mission-logic: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), statically linked, BuildID[sha1]=somekey , for GNU/Linux 5.4.0, not stripped
                                  voxl-emulator:~$ ./program --arg someArg
                                  [2022-03-22 12:23:14.804] [info] someText
                                  [2022-03-22 12:23:14.807] [info] someText
                                  [2022-03-22 12:23:15.279] [info] someText
                                  

                                  But on actual voxl it's not working:

                                  voxl:/data$ ./program --arg someArg
                                  FATAL: kernel too old
                                  Aborted
                                  

                                  Kernel Versions in voxl-emulator and voxl_platform_3-3-0-0.5.0-a system image are actually different:
                                  emulator kernel version: 5.13.0-35-generic
                                  voxl kernel version: 3.18.71-perf
                                  Shouldn't voxl emulator have the same kernel version as the voxl?
                                  in the docs it says:

                                  • voxl-emulator simulates the VOXL system image and is built alongside the base system image
                                  1 Reply Last reply
                                  0
                                  • Philemon BennerP Offline
                                    Philemon BennerP Offline
                                    Philemon Benner
                                    Regular
                                    wrote on last edited by
                                    #18

                                    Upgrading to newest system image didn't work either

                                    Eric KatzfeyE 1 Reply Last reply
                                    0
                                    • Philemon BennerP Philemon Benner

                                      Upgrading to newest system image didn't work either

                                      Eric KatzfeyE Offline
                                      Eric KatzfeyE Offline
                                      Eric Katzfey
                                      ModalAI Team
                                      wrote on last edited by
                                      #19

                                      @Philemon-Benner voxl-emulator is a Docker image, not a complete Virtual Machine, so it uses the same kernel as the machine you run it on.

                                      Philemon BennerP 1 Reply Last reply
                                      0
                                      • Eric KatzfeyE Eric Katzfey

                                        @Philemon-Benner voxl-emulator is a Docker image, not a complete Virtual Machine, so it uses the same kernel as the machine you run it on.

                                        Philemon BennerP Offline
                                        Philemon BennerP Offline
                                        Philemon Benner
                                        Regular
                                        wrote on last edited by
                                        #20

                                        @Eric-Katzfey Ok thanks for the fast answer.

                                        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