# VVPX4 Deployment to VOXL depedencies

Source: https://forum.modalai.com/topic/1276/vvpx4-deployment-to-voxl-depedencies
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2022-08-31 20:11:43 UTC by IC
Replies: 4 · Views: 1100

## IC · 2022-08-31 20:11:43 UTC

Hi,

I've been trying to deploy VVPX4 and see some dependencies. I am using the VOXL Platform 3.8.0-0.7 and VOXL-Cross-2.1 docker image.
```
voxl-vision-px4-master $./deploy_to_voxl.sh 
searching for ADB device
checking VOXL for dpkg/opkg
opkg detected
voxl-vision-px4_1.2.0.ipk: 1 file pushed. 3.4 MB/s (105362 bytes in 0.029s)
Reinstalling voxl-vision-px4 (1.2.0) on root.
Configuring voxl-vision-px4.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for voxl-vision-px4:
 * 	libmodal-pipe (>= 2.4.0) * 	libmodal-cv (>= 0.1.0) * 
DONE
```
Maybe I have to build the following in a specific directory but I am not sure which one:
```
$ mkdir cross-workspace
$ cd cross-workspace
$ voxl-docker -i voxl-cross:V1.9
voxl-cross:~$ git clone https://gitlab.com/voxl-public/voxl-sdk/core-libs/libmodal-json.git
voxl-cross:~$ cd libmodal-json/
voxl-cross:~$ ./build.sh qrb5165
```
Can I install or source these two dependencies separately?

## Reply by modaltb (ModalAI staff) · 2022-09-01 16:34:41 UTC

Yes you could, or you can install via our package management feed.  Here's the two packages from there from SDK 0.8:

http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64/libmodal-cv_0.1.0.ipk
http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64/libmodal-pipe_2.4.0.ipk

Depending on your setup, you could also install the VOXL-SDK fully and then modify parts you need from source.   More info here: https://docs.modalai.com/voxl-sdk/

Package management on VOXL1 here: https://docs.modalai.com/configure-pkg-manager/

## Reply by IC · 2022-09-06 18:14:22 UTC

Thank you @modaltb.

I'm having trouble deploying VVPX4 to to VOXL. The dependencies not being satisfied are being installed so I'm not sure what to do.

Here is what I'm doing:
```
voxl-cross:~$ ./install_build_deps.sh apq8096 staging 
using apq8096 staging repo
Downloading http://voxl-packages.modalai.com/dists/apq8096/staging/binary-arm64//Packages.gz.
Updated source 'staging'.
installing: 
libmodal-json
libmodal-pipe
librc-math
libmodal-cv
voxl-mpa-tools
voxl-mavlink
Installing libmodal-json (0.4.2) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/staging/binary-arm64//libmodal-json_0.4.2.ipk.
Configuring libmodal-json.
Installing libmodal-pipe (2.4.0) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/staging/binary-arm64//libmodal-pipe_2.4.0.ipk.
Configuring libmodal-pipe.
Installing librc-math (1.1.8) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/staging/binary-arm64//librc-math_1.1.8.ipk.
Configuring librc-math.
Installing libmodal-cv (0.1.0) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/staging/binary-arm64//libmodal-cv_0.1.0.ipk.
Configuring libmodal-cv.
Installing voxl-mpa-tools (0.7.2) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/staging/binary-arm64//voxl-mpa-tools_0.7.2.ipk.
Configuring voxl-mpa-tools.
Installing voxl-mavlink (0.1.0) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/staging/binary-arm64//voxl-mavlink_0.1.0.ipk.
Configuring voxl-mavlink.

Done installing dependencies

voxl-cross:~$ ./build.sh apq8096 
-- 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
-- Building for platform APQ8096
-- Configuring done
-- Generating done
-- Build files have been written to: /home/root/build64
[  3%] Building C object utils/CMakeFiles/voxl-px4-shell.dir/voxl-px4-shell.c.o
[ 11%] Building C object src/CMakeFiles/voxl-vision-px4.dir/geometry.c.o
[ 11%] Building C object src/CMakeFiles/voxl-vision-px4.dir/config_file.c.o
[ 15%] Building C object src/CMakeFiles/voxl-vision-px4.dir/control_input.c.o
[ 23%] Building C object utils/CMakeFiles/voxl-calibrate-px4-horizon.dir/voxl-calibrate-px4-horizon.c.o
[ 26%] Building C object src/CMakeFiles/voxl-vision-px4.dir/fixed_pose_input.c.o
[ 23%] Building C object src/CMakeFiles/voxl-vision-px4.dir/horizon_cal.c.o
[ 30%] Building C object src/CMakeFiles/voxl-vision-px4.dir/main.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/config_file.c:34:
/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
                                                           ^
In file included from /home/root/utils/voxl-px4-shell.c:39:0:
/usr/aarch64-linux-gnu-2.23/include/string.h:649:1: warning: no previous declaration for '__mempcpy_inline' [-Wmissing-declarations]
 __mempcpy_inline (void *__restrict __dest,
 ^
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/utils/voxl-calibrate-px4-horizon.c:34:
/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
                                                           ^
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/main.c:34:
/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
                                                           ^
[ 34%] Linking C executable voxl-calibrate-px4-horizon
[ 38%] Linking C executable voxl-px4-shell
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/geometry.c:34:
/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
                                                           ^
[ 38%] Built target voxl-calibrate-px4-horizon
[ 42%] Building C object src/CMakeFiles/voxl-vision-px4.dir/misc.c.o
[ 42%] Built target voxl-px4-shell
[ 46%] Building C object src/CMakeFiles/voxl-vision-px4.dir/obs_pc_filter.c.o
[ 50%] Building C object src/CMakeFiles/voxl-vision-px4.dir/offboard_figure_eight.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/obs_pc_filter.c:34:
/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
                                                           ^
[ 53%] Building C object src/CMakeFiles/voxl-vision-px4.dir/offboard_follow_tag.c.o
[ 57%] Building C object src/CMakeFiles/voxl-vision-px4.dir/offboard_mode.c.o
[ 61%] Building C object src/CMakeFiles/voxl-vision-px4.dir/offboard_trajectory.c.o
[ 65%] Building C object src/CMakeFiles/voxl-vision-px4.dir/pose_filter.c.o
[ 69%] Building C object src/CMakeFiles/voxl-vision-px4.dir/px4_mavlink.c.o
[ 73%] Building C object src/CMakeFiles/voxl-vision-px4.dir/px4_monitor.c.o
[ 76%] Building C object src/CMakeFiles/voxl-vision-px4.dir/px4_shell.c.o
[ 80%] Building C object src/CMakeFiles/voxl-vision-px4.dir/tag_manager.c.o
[ 84%] Building C object src/CMakeFiles/voxl-vision-px4.dir/transform_ringbuf.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/transform_ringbuf.c:19:
/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
                                                           ^
[ 88%] Building C object src/CMakeFiles/voxl-vision-px4.dir/udp_mavlink.c.o
[ 92%] Building C object src/CMakeFiles/voxl-vision-px4.dir/vio_manager.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/udp_mavlink.c:34:
/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
                                                           ^
[ 96%] Building C object src/CMakeFiles/voxl-vision-px4.dir/voa_manager.c.o
[100%] Linking C executable voxl-vision-px4
[100%] Built target voxl-vision-px4
voxl-cross:~$ ./make_package.sh ipk 
Package Name:  voxl-vision-px4
version Number:  1.2.0
Consolidate compiler generated dependencies of target voxl-vision-px4
[ 84%] Built target voxl-vision-px4
Consolidate compiler generated dependencies of target voxl-px4-shell
[ 92%] Built target voxl-px4-shell
Consolidate compiler generated dependencies of target voxl-calibrate-px4-horizon
[100%] Built target voxl-calibrate-px4-horizon
Install the project...
-- Install configuration: ""
-- Installing: ../pkg/data/usr/bin/voxl-vision-px4
-- Installing: ../pkg/data/usr/include/voxl_vision_px4.h
-- Installing: ../pkg/data/usr/bin/voxl-px4-shell
-- Installing: ../pkg/data/usr/bin/voxl-calibrate-px4-horizon
/home/root
starting building IPK package
ar: creating voxl-vision-px4_1.2.0.ipk
DONE
voxl-cross:~$ logout
voxl-vision-px4-master $./deploy_to_voxl.sh adb
searching for ADB device
checking VOXL for dpkg/opkg
opkg detected
voxl-vision-px4_1.2.0.ipk: 1 file pushed. 8.6 MB/s (105382 bytes in 0.012s)
Reinstalling voxl-vision-px4 (1.2.0) on root.
Configuring voxl-vision-px4.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for voxl-vision-px4:
 * 	libmodal-pipe (>= 2.4.0) * 	libmodal-cv (>= 0.1.0) * 
DONE

```

After this, the package I am trying to deploy isn't on VOXL and the voxl-vision-px4 is enabled but not running.

Any pointers to what I may be missing?

## Reply by Guest · 2022-09-06 18:24:52 UTC

Hi,

The install build deps script installs the dependencies to your docker image for building, not onto the voxl. If you're building packages with recent dependencies you'll need to update your voxl with ```opkg update``` to make sure it has the latest dependencies.

## Reply by IC · 2022-09-06 20:54:56 UTC (in reply to Guest)

@Alex-Gardner Got it. Thank you!
