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. Build voxl-uvc-server with voxl-cross

Build voxl-uvc-server with voxl-cross

Scheduled Pinned Locked Moved Modal Pipe Architecture (MPA)
26 Posts 2 Posters 8.5k 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.
  • Philemon BennerP Offline
    Philemon BennerP Offline
    Philemon Benner
    Regular
    wrote on last edited by
    #8

    @Eric-Katzfey so tried compiling tflite-server in voxl-emulator, but when building it complains about everything. So i tried just integrating libuvc in tflite-server in voxl-cross. Installation works fine. But when building it's complaining about libuvc being incompatible. Is it because i'm trying to build it with arm64 instead of the way voxl-emulator does in arm32 ?(mentioned in the docs https://gitlab.com/voxl-public/utilities/voxl-docker) What would i have to change to build in voxl-cross?

    Package Installation:

    voxl-cross:~$ ./install_build_deps.sh dev
    using dev IPK repo
    Downloading http://voxl-packages.modalai.com/dev/Packages.gz.
    Updated source 'dev'.
    installing: 
    libmodal-pipe libmodal-json voxl-opencv voxl-tflite libuvc
    Installing libmodal-pipe (2.1.5) on root.
    Downloading http://voxl-packages.modalai.com/dev/libmodal-pipe_2.1.5_202203110042.ipk.
    Configuring libmodal-pipe.
    Installing libmodal-json (0.4.0) on root.
    Downloading http://voxl-packages.modalai.com/dev/libmodal-json_0.4.0_202203110044.ipk.
    Configuring libmodal-json.
    Installing voxl-opencv (4.5.5) on root.
    Downloading http://voxl-packages.modalai.com/dev/voxl-opencv_4.5.5_202202082046.ipk.
    Configuring voxl-opencv.
    Installing voxl-tflite (2.2.3) on root.
    Downloading http://voxl-packages.modalai.com/dev/voxl-tflite_2.2.3-1_202201270503.ipk.
    Configuring voxl-tflite.
    
    Done installing voxl-tflite
    
    Installing libuvc (1.0.3) on root.
    Downloading http://voxl-packages.modalai.com/dev/libuvc_1.0.3_202201232120.ipk.
    Configuring libuvc.
    /home/root
    
    Done installing libuvc
    
    Done installing dependencies
    

    Build Output:

    voxl-cross:~$ ./build.sh 820
    -- The C compiler identification is GNU 4.9.3
    -- The CXX compiler identification is GNU 4.9.3
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc-4.9 - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++-4.9 - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/root/build64
    [ 50%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/main.cpp.o
    [ 50%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/inference_helper.cpp.o
    [ 75%] Building C object src/CMakeFiles/voxl-tflite-server.dir/resize.c.o
    In file included from /usr/aarch64-linux-gnu-2.23/include/features.h:367:0,
                     from /usr/aarch64-linux-gnu-2.23/include/stdio.h:27,
                     from /home/root/src/resize.c:1:
    /usr/aarch64-linux-gnu-2.23/include/bits/stdlib.h:64:8: warning: no previous declaration for 'ptsname_r' [-Wmissing-declarations]
     __NTH (ptsname_r (int __fd, char *__buf, size_t __buflen))
            ^
    /usr/aarch64-linux-gnu-2.23/include/sys/cdefs.h:57:59: note: in definition of macro '__NTH'
     #  define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
                                                               ^
    [100%] Linking CXX executable voxl-tflite-server
    /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libuvc.so when searching for -luvc
    /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libuvc.a when searching for -luvc
    /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libuvc.so when searching for -luvc
    /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libuvc.a when searching for -luvc
    /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: cannot find -luvc
    collect2: error: ld returned 1 exit status
    src/CMakeFiles/voxl-tflite-server.dir/build.make:128: recipe for target 'src/voxl-tflite-server' failed
    make[2]: *** [src/voxl-tflite-server] Error 1
    CMakeFiles/Makefile2:97: recipe for target 'src/CMakeFiles/voxl-tflite-server.dir/all' failed
    make[1]: *** [src/CMakeFiles/voxl-tflite-server.dir/all] Error 2
    Makefile:135: recipe for target 'all' failed
    make: *** [all] Error 2
    
    Eric KatzfeyE 1 Reply Last reply
    0
    • Philemon BennerP Philemon Benner

      @Eric-Katzfey so tried compiling tflite-server in voxl-emulator, but when building it complains about everything. So i tried just integrating libuvc in tflite-server in voxl-cross. Installation works fine. But when building it's complaining about libuvc being incompatible. Is it because i'm trying to build it with arm64 instead of the way voxl-emulator does in arm32 ?(mentioned in the docs https://gitlab.com/voxl-public/utilities/voxl-docker) What would i have to change to build in voxl-cross?

      Package Installation:

      voxl-cross:~$ ./install_build_deps.sh dev
      using dev IPK repo
      Downloading http://voxl-packages.modalai.com/dev/Packages.gz.
      Updated source 'dev'.
      installing: 
      libmodal-pipe libmodal-json voxl-opencv voxl-tflite libuvc
      Installing libmodal-pipe (2.1.5) on root.
      Downloading http://voxl-packages.modalai.com/dev/libmodal-pipe_2.1.5_202203110042.ipk.
      Configuring libmodal-pipe.
      Installing libmodal-json (0.4.0) on root.
      Downloading http://voxl-packages.modalai.com/dev/libmodal-json_0.4.0_202203110044.ipk.
      Configuring libmodal-json.
      Installing voxl-opencv (4.5.5) on root.
      Downloading http://voxl-packages.modalai.com/dev/voxl-opencv_4.5.5_202202082046.ipk.
      Configuring voxl-opencv.
      Installing voxl-tflite (2.2.3) on root.
      Downloading http://voxl-packages.modalai.com/dev/voxl-tflite_2.2.3-1_202201270503.ipk.
      Configuring voxl-tflite.
      
      Done installing voxl-tflite
      
      Installing libuvc (1.0.3) on root.
      Downloading http://voxl-packages.modalai.com/dev/libuvc_1.0.3_202201232120.ipk.
      Configuring libuvc.
      /home/root
      
      Done installing libuvc
      
      Done installing dependencies
      

      Build Output:

      voxl-cross:~$ ./build.sh 820
      -- The C compiler identification is GNU 4.9.3
      -- The CXX compiler identification is GNU 4.9.3
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc-4.9 - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++-4.9 - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /home/root/build64
      [ 50%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/main.cpp.o
      [ 50%] Building CXX object src/CMakeFiles/voxl-tflite-server.dir/inference_helper.cpp.o
      [ 75%] Building C object src/CMakeFiles/voxl-tflite-server.dir/resize.c.o
      In file included from /usr/aarch64-linux-gnu-2.23/include/features.h:367:0,
                       from /usr/aarch64-linux-gnu-2.23/include/stdio.h:27,
                       from /home/root/src/resize.c:1:
      /usr/aarch64-linux-gnu-2.23/include/bits/stdlib.h:64:8: warning: no previous declaration for 'ptsname_r' [-Wmissing-declarations]
       __NTH (ptsname_r (int __fd, char *__buf, size_t __buflen))
              ^
      /usr/aarch64-linux-gnu-2.23/include/sys/cdefs.h:57:59: note: in definition of macro '__NTH'
       #  define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct
                                                                 ^
      [100%] Linking CXX executable voxl-tflite-server
      /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libuvc.so when searching for -luvc
      /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible /usr/lib/../lib/libuvc.a when searching for -luvc
      /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libuvc.so when searching for -luvc
      /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: skipping incompatible //usr/lib/libuvc.a when searching for -luvc
      /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: cannot find -luvc
      collect2: error: ld returned 1 exit status
      src/CMakeFiles/voxl-tflite-server.dir/build.make:128: recipe for target 'src/voxl-tflite-server' failed
      make[2]: *** [src/voxl-tflite-server] Error 1
      CMakeFiles/Makefile2:97: recipe for target 'src/CMakeFiles/voxl-tflite-server.dir/all' failed
      make[1]: *** [src/CMakeFiles/voxl-tflite-server.dir/all] Error 2
      Makefile:135: recipe for target 'all' failed
      make: *** [all] Error 2
      
      Eric KatzfeyE Offline
      Eric KatzfeyE Offline
      Eric Katzfey
      ModalAI Team
      wrote on last edited by
      #9

      @Philemon-Benner You can build a 64 bit version of libuvc with the dev branch on our libuvc project: https://gitlab.com/voxl-public/third-party/libuvc/-/tree/dev. Use the instructions to build for qrb5165 and it will produce 64 bit versions.

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

        @Philemon-Benner You can build a 64 bit version of libuvc with the dev branch on our libuvc project: https://gitlab.com/voxl-public/third-party/libuvc/-/tree/dev. Use the instructions to build for qrb5165 and it will produce 64 bit versions.

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

        @Eric-Katzfey Do i have to use the qrb-emulator for that or can i do it in voxl-emulator?

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

          @Eric-Katzfey Do i have to use the qrb-emulator for that or can i do it in voxl-emulator?

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

          @Eric-Katzfey tried that getting the following errors:

          /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: warning: libusb-1.0.so.0, needed by /usr/lib/../lib/libuvc.so, not found (try using -rpath or -rpath-link)
          /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: warning: libjpeg.so.8, needed by /usr/lib/../lib/libuvc.so, not found (try using -rpath or -rpath-link)
          
          

          when trying to build in tflite-server. I Built libuvc in qr-emulator. Installed the deb file in tflite-server without errors.

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

            @Eric-Katzfey tried that getting the following errors:

            /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: warning: libusb-1.0.so.0, needed by /usr/lib/../lib/libuvc.so, not found (try using -rpath or -rpath-link)
            /usr/lib/gcc-cross/aarch64-linux-gnu/4.9/../../../../aarch64-linux-gnu/bin/ld: warning: libjpeg.so.8, needed by /usr/lib/../lib/libuvc.so, not found (try using -rpath or -rpath-link)
            
            

            when trying to build in tflite-server. I Built libuvc in qr-emulator. Installed the deb file in tflite-server without errors.

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

            @Philemon-Benner In voxl-cross?

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

              yeah i think i need to install libusb and libjpeg but wich exact verisions?

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

                yeah i think i need to install libusb and libjpeg but wich exact verisions?

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

                @Philemon-Benner Now you are starting to see the problem with voxl-cross. It is a much faster way to compile code but for projects that have more complex dependencies it can be a real pain to get them setup. That is why some projects use voxl-emulator. It's much easier to setup dependencies there.

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

                  @Philemon-Benner Now you are starting to see the problem with voxl-cross. It is a much faster way to compile code but for projects that have more complex dependencies it can be a real pain to get them setup. That is why some projects use voxl-emulator. It's much easier to setup dependencies there.

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

                  @Eric-Katzfey yeah i see

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

                    @Eric-Katzfey yeah i see

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

                    Ok so i finally got it working if someone ever needs it, with installing:

                    sudo apt-get update
                    sudo apt-get install libusb-1.0-0:arm64
                    sudo apt-get install libjpeg-turbo8:arm64
                    

                    For other third part libraries add the :arm64 architecture when building with 820, because in voxl-cross it will install amd64 by default. Still wondering what 820 exactly is🤔

                    Thanks @Eric-Katzfey for the suggestion on the 64-Bit deb package.

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

                      Ok so i finally got it working if someone ever needs it, with installing:

                      sudo apt-get update
                      sudo apt-get install libusb-1.0-0:arm64
                      sudo apt-get install libjpeg-turbo8:arm64
                      

                      For other third part libraries add the :arm64 architecture when building with 820, because in voxl-cross it will install amd64 by default. Still wondering what 820 exactly is🤔

                      Thanks @Eric-Katzfey for the suggestion on the 64-Bit deb package.

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

                      @Philemon-Benner 820 refers to the Qualcomm Snapdragon 820 SoC that is the heart of the Voxl product. https://www.qualcomm.com/products/snapdragon-820-mobile-platform

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

                        @Eric-Katzfey Ok i ran into the next problem when trying to run tflite-server.

                        voxl:~/tflite-server(master)$ voxl-tflite-server -t -d
                        voxl-tflite-server: error while loading shared libraries: libuvc.so.0: cannot open shared object file: No such file or directory
                        

                        Tried to install the 64-Bit BInary file but it's throwing the following error:

                        voxl:~/tflite-server(master)$ opkg install libuvc_1.0.3.deb
                        Collected errors:
                         * pkg_extract_control_file_to_stream: Failed to extract control.tar.gz from package 'libuvc_1.0.3.deb'.
                         * pkg_init_from_file: Failed to extract control file from libuvc_1.0.3.deb.
                        

                        So i tried using this from ur code:

                        voxl:~/tflite-server(master)$ dpkg -i --force-downgrade --force-depends /data/libuvc_1.0.3.deb
                        -bash: dpkg: command not found
                        

                        Normal installation from modalai dev branch still throws the same error after installation:

                        opkg install libuvc
                        

                        Any suggestions?

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

                          @Eric-Katzfey Ok i ran into the next problem when trying to run tflite-server.

                          voxl:~/tflite-server(master)$ voxl-tflite-server -t -d
                          voxl-tflite-server: error while loading shared libraries: libuvc.so.0: cannot open shared object file: No such file or directory
                          

                          Tried to install the 64-Bit BInary file but it's throwing the following error:

                          voxl:~/tflite-server(master)$ opkg install libuvc_1.0.3.deb
                          Collected errors:
                           * pkg_extract_control_file_to_stream: Failed to extract control.tar.gz from package 'libuvc_1.0.3.deb'.
                           * pkg_init_from_file: Failed to extract control file from libuvc_1.0.3.deb.
                          

                          So i tried using this from ur code:

                          voxl:~/tflite-server(master)$ dpkg -i --force-downgrade --force-depends /data/libuvc_1.0.3.deb
                          -bash: dpkg: command not found
                          

                          Normal installation from modalai dev branch still throws the same error after installation:

                          opkg install libuvc
                          

                          Any suggestions?

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

                          @Philemon-Benner You can only install a Debian package with dpkg, which we have on our qrb5165 based platform, but not on our 820 based Voxl. That only has opkg and you need ipk packages, not debian packages.

                          Philemon BennerP 2 Replies Last reply
                          0
                          • Eric KatzfeyE Eric Katzfey

                            @Philemon-Benner You can only install a Debian package with dpkg, which we have on our qrb5165 based platform, but not on our 820 based Voxl. That only has opkg and you need ipk packages, not debian packages.

                            Philemon BennerP Offline
                            Philemon BennerP Offline
                            Philemon Benner
                            Regular
                            wrote on last edited by Philemon Benner
                            #20
                            This post is deleted!
                            1 Reply Last reply
                            0
                            • Eric KatzfeyE Eric Katzfey

                              @Philemon-Benner You can only install a Debian package with dpkg, which we have on our qrb5165 based platform, but not on our 820 based Voxl. That only has opkg and you need ipk packages, not debian packages.

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

                              @Eric-Katzfey Ok so i got working now but i am having issues with the Format. So when using UVC Server i got the response that frame format succeed on index 2. In your voxl-uvc-server code at the Top Frame Format 2 should be:

                              static enum uvc_frame_format supported_frame_format[NUM_SUPPORTED_FRAME_FORMATS] =
                                   {UVC_FRAME_FORMAT_YUYV, UVC_FRAME_FORMAT_UYVY, UVC_FRAME_FORMAT_NV12};
                              static int supported_mpa_frame_format[NUM_SUPPORTED_FRAME_FORMATS] =
                                   {IMAGE_FORMAT_YUV422, IMAGE_FORMAT_YUV422_UYVY, IMAGE_FORMAT_NV12};
                              

                              supported mpa_frame_format = IMAGE_FORMAT_NV12 = 1 // regarding to https://gitlab.com/voxl-public/modal-pipe-architecture/libmodal_pipe/-/blob/master/library/include/modal_pipe_interfaces.h
                              frame_format supported_frame_format = FRAME_FORMAT_NV12 = 17

                              But still i am getting a real weird looking image(wrong colors) voxl-portal. Are the Configurations right that i use, or is it something else? Can't upload any pictures rn becuase of some server error.

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

                                Ok so apparrently the Frame format stuff is alright when directly writing the frame from the callback to the pipe server. I think it's some fault in the code. One Question why are you using c instead of c++? I'm not an expert at c/c++ stuff but i was told that c++ is generally faster than c.

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

                                  Ok i got it working now.
                                  @Eric-Katzfey i don't know anything of the qrb thing but in the dev libuvc branch, if you build it in 64-Bit version, why is it then copied in the 32-Bit dir in your make_package.sh L:87-89:

                                  sudo mkdir -p $DATA_DIR/usr/lib
                                  sudo cp build/libuvc.so.0.0.6 $DATA_DIR/usr/lib
                                  sudo cp build/libuvc.a $DATA_DIR/usr/lib
                                  

                                  an if else would be nice.

                                  sudo mkdir -p $DATA_DIR/usr/lib64
                                  sudo cp build/libuvc.so.0.0.6 $DATA_DIR/usr/lib64
                                  sudo cp build/libuvc.a $DATA_DIR/usr/lib64
                                  

                                  also had to add:

                                  sudo cp /usr/lib/aarch64-linux-gnu/libjpeg.so.8 $DATA_DIR/usr/lib64
                                  sudo cp /usr/lib/aarch64-linux-gnu/libjpeg.so.8.1.2 $DATA_DIR/usr/lib64
                                  

                                  to make it work on voxl because voxl doesn't have it installed by default.

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

                                    Ok i got it working now.
                                    @Eric-Katzfey i don't know anything of the qrb thing but in the dev libuvc branch, if you build it in 64-Bit version, why is it then copied in the 32-Bit dir in your make_package.sh L:87-89:

                                    sudo mkdir -p $DATA_DIR/usr/lib
                                    sudo cp build/libuvc.so.0.0.6 $DATA_DIR/usr/lib
                                    sudo cp build/libuvc.a $DATA_DIR/usr/lib
                                    

                                    an if else would be nice.

                                    sudo mkdir -p $DATA_DIR/usr/lib64
                                    sudo cp build/libuvc.so.0.0.6 $DATA_DIR/usr/lib64
                                    sudo cp build/libuvc.a $DATA_DIR/usr/lib64
                                    

                                    also had to add:

                                    sudo cp /usr/lib/aarch64-linux-gnu/libjpeg.so.8 $DATA_DIR/usr/lib64
                                    sudo cp /usr/lib/aarch64-linux-gnu/libjpeg.so.8.1.2 $DATA_DIR/usr/lib64
                                    

                                    to make it work on voxl because voxl doesn't have it installed by default.

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

                                    @Philemon-Benner I'm not sure where those lines of code came from. The file make_package.sh in the dev branch has this for lines 87-89:

                                    	sudo mkdir -p $DATA_DIR/usr/lib
                                    	sudo cp $BUILD_TYPE/libuvc.so.0.0.6 $DATA_DIR/usr/lib
                                    	sudo cp $BUILD_TYPE/libuvc.a $DATA_DIR/usr/lib
                                    

                                    Where BUILD_TYPE will be either build32 or build64. It looks like you are taking from lines 65-66 on the master branch.

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

                                      @Philemon-Benner I'm not sure where those lines of code came from. The file make_package.sh in the dev branch has this for lines 87-89:

                                      	sudo mkdir -p $DATA_DIR/usr/lib
                                      	sudo cp $BUILD_TYPE/libuvc.so.0.0.6 $DATA_DIR/usr/lib
                                      	sudo cp $BUILD_TYPE/libuvc.a $DATA_DIR/usr/lib
                                      

                                      Where BUILD_TYPE will be either build32 or build64. It looks like you are taking from lines 65-66 on the master branch.

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

                                      @Eric-Katzfey yeah that was mb it's the one from the dev branch, but still even if i'ts 64-Bit, files are copied to 32-Bit lib:

                                      sudo mkdir -p $DATA_DIR/usr/lib
                                      

                                      instead of:

                                      sudo mkdir -p $DATA_DIR/usr/lib64
                                      

                                      for 64-Bit. Correct me if i'm wrong.

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

                                        @Eric-Katzfey yeah that was mb it's the one from the dev branch, but still even if i'ts 64-Bit, files are copied to 32-Bit lib:

                                        sudo mkdir -p $DATA_DIR/usr/lib
                                        

                                        instead of:

                                        sudo mkdir -p $DATA_DIR/usr/lib64
                                        

                                        for 64-Bit. Correct me if i'm wrong.

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

                                        @Philemon-Benner Our qrb5165 based platforms put 64 bit libraries into /usr/lib. On Voxl the 64 bit libraries go into /usr/lib64. So the 64 bit support is specifically for our qrb5165 based platforms (e.g. RB5 Flight).

                                        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