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

ModalAI Forum

  1. ModalAI Support Forum
  2. VOXL SDK and Software
  3. Question about building custom applications, docker images and dependencies

Question about building custom applications, docker images and dependencies

Scheduled Pinned Locked Moved Unsolved VOXL SDK and Software
voxl-sdk
6 Posts 2 Posters 2.2k 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.
  • P Offline
    P Offline
    peterkrull
    wrote on last edited by
    #1

    I will preface by saying I am a novice as both working with docker, and working with complex C++ code bases for cross-compilation.

    I am attempting to make a custom vio-server for the VOXL 2 which bases its estimation on an open source VIO solution from a science paper, specifically DM-VIO My plan is to start with the voxl-qvio-server, pull out the mvVISLAM guts and replace the relevant parts with the equivalent DM-VIO parts. DM-VIO however requires GTSAM as a dependency, which has to be compiled and installed. Is it right that I would have to to compile and install GTSAM inside docker (qrb5165-emulator)? From my experience compiling GTSAM natively on my PC, I know it is very slow. In addition, I have had issues with the compilation consuming large amounts of ram, eventually bringing everything to a crawl. Having to do this every time i restart the docker would not be viable. Maybe I am doing something completely wrong?

    By the way, I am on a Windows machine running a Ubuntu 20.04 install through WSL, which also launches the docker image. Perhaps this is suboptimal, but I could not get voxl-docker work natively in Windows.

    Eric KatzfeyE 1 Reply Last reply
    0
    • P peterkrull

      I will preface by saying I am a novice as both working with docker, and working with complex C++ code bases for cross-compilation.

      I am attempting to make a custom vio-server for the VOXL 2 which bases its estimation on an open source VIO solution from a science paper, specifically DM-VIO My plan is to start with the voxl-qvio-server, pull out the mvVISLAM guts and replace the relevant parts with the equivalent DM-VIO parts. DM-VIO however requires GTSAM as a dependency, which has to be compiled and installed. Is it right that I would have to to compile and install GTSAM inside docker (qrb5165-emulator)? From my experience compiling GTSAM natively on my PC, I know it is very slow. In addition, I have had issues with the compilation consuming large amounts of ram, eventually bringing everything to a crawl. Having to do this every time i restart the docker would not be viable. Maybe I am doing something completely wrong?

      By the way, I am on a Windows machine running a Ubuntu 20.04 install through WSL, which also launches the docker image. Perhaps this is suboptimal, but I could not get voxl-docker work natively in Windows.

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

      @peterkrull If you make changes to a Docker you can preserve them with the Docker commit command. https://docs.docker.com/engine/reference/commandline/commit/

      P 1 Reply Last reply
      0
      • Eric KatzfeyE Eric Katzfey

        @peterkrull If you make changes to a Docker you can preserve them with the Docker commit command. https://docs.docker.com/engine/reference/commandline/commit/

        P Offline
        P Offline
        peterkrull
        wrote on last edited by
        #3

        @Eric-Katzfey Thanks, that seems to be exactly what I need. I also figured out that GTSAM with the GCC compiler is what caused the extreme memory usage and eventual failed compilation, changing to Clang helped. It is right that I am using the qrb5165-emulator and not the voxl-cross image? I believe some parts of the documentation recommend using the voxl-cross for new development, but I could not get it to build the voxl-qvio-server out of the box.

        Eric KatzfeyE 1 Reply Last reply
        0
        • P peterkrull

          @Eric-Katzfey Thanks, that seems to be exactly what I need. I also figured out that GTSAM with the GCC compiler is what caused the extreme memory usage and eventual failed compilation, changing to Clang helped. It is right that I am using the qrb5165-emulator and not the voxl-cross image? I believe some parts of the documentation recommend using the voxl-cross for new development, but I could not get it to build the voxl-qvio-server out of the box.

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

          @peterkrull The choice between voxl-cross and qrb5165-emulator usually comes down to dependencies. voxl-cross is a much faster way to build but it provides a minimal environment and so if will often lack needed dependencies for more complex applications. The emulator actually has the voxl2 file system in it so has many more dependencies in the environment already. The documentation for voxl-qvio-server states that you need the emulator https://gitlab.com/voxl-public/voxl-sdk/services/voxl-qvio-server#build-instructions-1

          P 1 Reply Last reply
          0
          • Eric KatzfeyE Eric Katzfey

            @peterkrull The choice between voxl-cross and qrb5165-emulator usually comes down to dependencies. voxl-cross is a much faster way to build but it provides a minimal environment and so if will often lack needed dependencies for more complex applications. The emulator actually has the voxl2 file system in it so has many more dependencies in the environment already. The documentation for voxl-qvio-server states that you need the emulator https://gitlab.com/voxl-public/voxl-sdk/services/voxl-qvio-server#build-instructions-1

            P Offline
            P Offline
            peterkrull
            wrote on last edited by
            #5

            @Eric-Katzfey Yea I found out about the dependencies the hard way by spending some hours trying to figure out why my installed dependencies were not accepted by Cmake. Of course because they were installed as amd64. Apart from slower compilation, what is the argument against using the qrb5165-emulator?

            Eric KatzfeyE 1 Reply Last reply
            0
            • P peterkrull

              @Eric-Katzfey Yea I found out about the dependencies the hard way by spending some hours trying to figure out why my installed dependencies were not accepted by Cmake. Of course because they were installed as amd64. Apart from slower compilation, what is the argument against using the qrb5165-emulator?

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

              @peterkrull I think qrb5165-emulator is a fine choice.

              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