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

ModalAI Forum

  1. ModalAI Support Forum
  2. General Questions
  3. Building a custom docker image with VOXL libs

Building a custom docker image with VOXL libs

Scheduled Pinned Locked Moved Unsolved General Questions
7 Posts 3 Posters 1.1k 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.
  • S Offline
    S Offline
    ShauliXtend
    wrote on last edited by ShauliXtend
    #1

    Hi,
    I am trying to build a docker image which includes both my own project libs and the required modal_pipe_*.h files.
    First, I built an Ubuntu20.04-ARM64 image with all the required libraries on my side. Then, I tried adding the VOXL libs by cloning
    https://gitlab.com/voxl-public/voxl-sdk/services/voxl-qvio-server and running $ ./install_build_deps.sh qrb5165 dev .
    This, however, leads to an issue where while the dependencies are installed, there are not compatible with the system.

    /usr/bin/ld: skipping incompatible /usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/libmodal_pipe.so when searching for -lmodal_pipe
    /usr/bin/ld: skipping incompatible /lib/../lib/libmodal_pipe.so when searching for -lmodal_pipe
    /usr/bin/ld: skipping incompatible /usr/lib/../lib/libmodal_pipe.so when searching for -lmodal_pipe
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/aarch64-linux-gnu/9/../../../libmodal_pipe.so when searching for -lmodal_pipe
    /usr/bin/ld: skipping incompatible /lib/libmodal_pipe.so when searching for -lmodal_pipe
    /usr/bin/ld: skipping incompatible /usr/lib/libmodal_pipe.so when searching for -lmodal_pipe

    Where trying to inspect the files -
    $ file /usr/lib/libmodal_pipe.so /usr/lib/libmodal_pipe.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=21cd25b6d5b22353c369a8dad181d4acdbbbbe6f, not stripped

    Either I am doing something wrong, or the installation script is pointing to the wrong place.

    I did try to inspect the dev repo http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64/ which seems to have only 64bit debians, so I might be doing something wrong.

    S 1 Reply Last reply
    0
    • S ShauliXtend

      Hi,
      I am trying to build a docker image which includes both my own project libs and the required modal_pipe_*.h files.
      First, I built an Ubuntu20.04-ARM64 image with all the required libraries on my side. Then, I tried adding the VOXL libs by cloning
      https://gitlab.com/voxl-public/voxl-sdk/services/voxl-qvio-server and running $ ./install_build_deps.sh qrb5165 dev .
      This, however, leads to an issue where while the dependencies are installed, there are not compatible with the system.

      /usr/bin/ld: skipping incompatible /usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib/libmodal_pipe.so when searching for -lmodal_pipe
      /usr/bin/ld: skipping incompatible /lib/../lib/libmodal_pipe.so when searching for -lmodal_pipe
      /usr/bin/ld: skipping incompatible /usr/lib/../lib/libmodal_pipe.so when searching for -lmodal_pipe
      /usr/bin/ld: skipping incompatible /usr/lib/gcc/aarch64-linux-gnu/9/../../../libmodal_pipe.so when searching for -lmodal_pipe
      /usr/bin/ld: skipping incompatible /lib/libmodal_pipe.so when searching for -lmodal_pipe
      /usr/bin/ld: skipping incompatible /usr/lib/libmodal_pipe.so when searching for -lmodal_pipe

      Where trying to inspect the files -
      $ file /usr/lib/libmodal_pipe.so /usr/lib/libmodal_pipe.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=21cd25b6d5b22353c369a8dad181d4acdbbbbe6f, not stripped

      Either I am doing something wrong, or the installation script is pointing to the wrong place.

      I did try to inspect the dev repo http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64/ which seems to have only 64bit debians, so I might be doing something wrong.

      S Offline
      S Offline
      ShauliXtend
      wrote on last edited by
      #2

      @ShauliXtend
      Well, I did manage to link the installed 64bit libraries by forcing an overwrite over the 32bit libs. I am not sure why using LD_LIBRARY_PATH to point at /usr/lib64 did not simply work.

      65 ln -sf /usr/lib64/libmodal_pipe.so /usr/lib/libmodal_pipe.so
      66 ln -sf /usr/lib64/libmodal_json.so /usr/lib/libmodal_json.so
      67 ln -sf /usr/lib64/libmodal_exposure.so /usr/lib/libmodal_exposure.so
      70 ln -sf /usr/lib64/libvoxl_common_config.so /usr/lib/libvoxl_common_config.so

      I was not able to overwrite the /usr/lib/libmv1.so library which is missing the 64bit version.

      1 Reply Last reply
      0
      • tomT Offline
        tomT Offline
        tom
        admin
        wrote on last edited by tom
        #3

        @ShauliXtend You might want to just start with one of our docker images and add your projects on top of that.

        https://developer.modalai.com/asset/5

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

          Also the QVIO build requires proprietary headers and libs (the MV lib that you've noted here) that we can't publish without a EULA, so they're only included in our system images and emulator docker images (as opposed to the cross one).

          S 1 Reply Last reply
          0
          • tomT tom

            @ShauliXtend You might want to just start with one of our docker images and add your projects on top of that.

            https://developer.modalai.com/asset/5

            S Offline
            S Offline
            ShauliXtend
            wrote on last edited by
            #5

            @tom said in Building a custom docker image with VOXL libs:

            @ShauliXtend You might want to just start with one of our docker images and add your projects on top of that.

            https://developer.modalai.com/asset/5

            Hi @tom,
            Unfortunately, I have found out that working with the containers supplied above is highly uncomfortable. They are wrapped around too many scripts and logics which hinder my progress. Thanks for the offer. If I give up, I'll probably give it a try.

            1 Reply Last reply
            0
            • ? A Former User

              Also the QVIO build requires proprietary headers and libs (the MV lib that you've noted here) that we can't publish without a EULA, so they're only included in our system images and emulator docker images (as opposed to the cross one).

              S Offline
              S Offline
              ShauliXtend
              wrote on last edited by
              #6

              @Alex-Gardner said in Building a custom docker image with VOXL libs:

              Also the QVIO build requires proprietary headers and libs (the MV lib that you've noted here) that we can't publish without a EULA, so they're only included in our system images and emulator docker images (as opposed to the cross one).

              Hi @Alex-Gardner ,
              I figured this might be the issue. I did see that even on the VOXL itself you use 32bit libraries while the system is 64bit. I am able to mount the file to my own container but the 32bit issue is still there, obviously.
              I am not a CMake expert, but maybe there is a way to still use the 32bit file.
              Thanks,
              Shauli

              ? 1 Reply Last reply
              0
              • S ShauliXtend

                @Alex-Gardner said in Building a custom docker image with VOXL libs:

                Also the QVIO build requires proprietary headers and libs (the MV lib that you've noted here) that we can't publish without a EULA, so they're only included in our system images and emulator docker images (as opposed to the cross one).

                Hi @Alex-Gardner ,
                I figured this might be the issue. I did see that even on the VOXL itself you use 32bit libraries while the system is 64bit. I am able to mount the file to my own container but the 32bit issue is still there, obviously.
                I am not a CMake expert, but maybe there is a way to still use the 32bit file.
                Thanks,
                Shauli

                ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #7

                @ShauliXtend said in Building a custom docker image with VOXL libs:

                on the VOXL itself you use 32bit libraries while the system is 64bit

                Yes, unfortunately the QVIO algorithm is proprietary to qualcomm, we don't even have the source, just the 32 bit binaries that they've provided.

                maybe there is a way to still use the 32bit file

                You'll need to compile a 32-bit program to use a 32-bit library, there's unfortunately no way around this without some sort of inter-process communication (hence our standalone qvio-server)

                1 Reply Last reply
                0

                Reading along? Create a free ModalAI Forum account to join in.

                With an account you can reply, ask your own question, get an email when a ModalAI engineer answers, and mark the reply that solved it. Your place in each thread is saved between visits.

                Questions about VOXL, Flight Core, ESCs and ModalAI drones are answered here by the engineers who build them.

                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

                • Don't have an account? Register

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