# Cannot build voxl-mapper in voxl-cross docker image: fatal error: voxblox/Eigen/Core: No such file or directory

Source: https://forum.modalai.com/topic/1367/cannot-build-voxl-mapper-in-voxl-cross-docker-image-fatal-error-voxblox-eigen-core-no-such-file-or-directory
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2022-09-22 06:34:25 UTC by ahmed-mustahid
Replies: 2 · Views: 824

## ahmed-mustahid · 2022-09-22 06:34:25 UTC

I intend to modify some codes in [voxl-mapper](https://gitlab.com/voxl-public/voxl-sdk/services/voxl-mapper) and so would like to **build** it after the modification. I am building it following the instructions in the **Build Instructions** section in the [voxl-mapper gitlab](https://gitlab.com/voxl-public/voxl-sdk/services/voxl-mapper) (i.e. in `voxl-cross` docker image).
Therefore,following the instructions in [voxl-mapper gitlab](https://gitlab.com/voxl-public/voxl-sdk/services/voxl-mapper), I execute the following:
1. Install the dependencies
```
using apq8096 sdk-0.8 repo
Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//Packages.gz.
Updated source 'sdk-0.8'.
installing: 
libmodal-json
libvoxl-cutils
voxl-ceres-solver
voxl-nlopt
voxl-mpa-tools
libmodal-pipe
voxl-voxblox
Package libmodal-json (0.4.2) installed in root is up to date.
Package libvoxl-cutils (0.1.1) installed in root is up to date.
Package voxl-ceres-solver (1.14.0-9) installed in root is up to date.
Package voxl-nlopt (2.5.0-4) installed in root is up to date.
Package voxl-mpa-tools (0.7.3) installed in root is up to date.
Package libmodal-pipe (2.4.4) installed in root is up to date.
Package voxl-voxblox (1.1.2) installed in root is up to date.

Done installing dependencies

```
2. Run the script for building 
```
voxl-cross:~/voxl-mapper(master)$ ./build.sh  apq8096
-- Configuring done
-- Generating done
-- Build files have been written to: /home/root/voxl-mapper/build64
Consolidate compiler generated dependencies of target mav_trajectory_generation
[  2%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/polynomial.cpp.o
[  5%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/rpoly_ak1.cpp.o
[  8%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/segment.cpp.o
[ 11%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory_sampling.cpp.o
[ 13%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory.cpp.o
[ 16%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/vertex.cpp.o
In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/src/polynomial.cpp:20:0:
/home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/polynomial.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
 #include <voxblox/Eigen/Core>
                              ^
compilation terminated.
In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/trajectory_sampling.h:24:0,
                 from /home/root/voxl-mapper/server/mav_trajectory_generation/src/trajectory_sampling.cpp:21:
/home/root/voxl-mapper/server/mav_comm/mav_msgs/include/mav_msgs/eigen_mav_msgs.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
 #include <voxblox/Eigen/Core>
                              ^
compilation terminated.
In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/src/segment.cpp:21:0:
/home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/segment.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
 #include <voxblox/Eigen/Core>
                              ^
compilation terminated.
In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/src/vertex.cpp:21:0:
/home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/vertex.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
 #include <voxblox/Eigen/Core>
                              ^
compilation terminated.
server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:173: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/vertex.cpp.o' failed
make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/vertex.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:159: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory_sampling.cpp.o' failed
make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory_sampling.cpp.o] Error 1
server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:117: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/segment.cpp.o' failed
make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/segment.cpp.o] Error 1
server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:89: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/polynomial.cpp.o' failed
make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/polynomial.cpp.o] Error 1
In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/trajectory.h:25:0,
                 from /home/root/voxl-mapper/server/mav_trajectory_generation/src/trajectory.cpp:21:
/home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/segment.h:24:30: fatal error: voxblox/Eigen/Core: No such file or directory
 #include <voxblox/Eigen/Core>
                              ^
compilation terminated.
In file included from /home/root/voxl-mapper/server/mav_trajectory_generation/src/rpoly_ak1.cpp:47:0:
/home/root/voxl-mapper/server/mav_trajectory_generation/include/mav_trajectory_generation/rpoly_ak1.h:20:30: fatal error: voxblox/Eigen/Core: No such file or directory
 #include <voxblox/Eigen/Core>
                              ^
compilation terminated.
server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:145: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory.cpp.o' failed
make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory.cpp.o] Error 1
server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/build.make:103: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/rpoly_ak1.cpp.o' failed
make[2]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/rpoly_ak1.cpp.o] Error 1
CMakeFiles/Makefile2:259: recipe for target 'server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/all' failed
make[1]: *** [server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/all] Error 2
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2

```

It seems that the main issue here is 
```
voxblox/Eigen/Core: No such file or directory
```
In the first step, where I install all the dependencies, it seems voxblox package was installed. But still this error shows up.

As a reference, `voxl-voxblox - 1.0.4 - voxblox library api` seems to be installed.
```
voxl-cross:~/voxl-mapper(master)$ opkg list                  
apq8096-dfs-server - 0.3.0 - depth-from-stereo server for Modal Pipe Architecture
apq8096-imu-server - 1.0.2 - VOXL IMU interface for Modal Pipe Architecture
apq8096-libpng - 1.6.38-1 - 64-bit version of native libpng for voxl1
apq8096-rangefinder-server - 0.1.2 - publishes rangefinder data
apq8096-system-tweaks - 0.1.2 - ModalAI common on-target utilities for VOXL
apq8096-tflite - 2.2.3-4 - Tensorflow Lite Build For VOXL
libapq8096-io - 0.5.8 - ModalAI library allowing apps processor access to accessory serial ports
libmodal-cv - 0.1.0 - ModalAI CV library
libmodal-exposure - 0.0.7 - ModalAI Auto Exposure Library
libmodal-json - 0.4.2 - Helper library for handling JSON config files
libmodal-pipe - 2.4.0 - Interface for services to communicate over posix named pipes
libmodal-pipe - 2.4.4
librc-math - 1.1.8 - Math and Linear Algebra Routines for Robotics
libvoxl-cutils - 0.1.1 - ModalAI's c utils
mavlink-camera-manager - 0.1.0 - ModalAI implementation of the Mavlink camera protocol
qualcomm-proprietary - 0.0.1
voxl-camera-calibration - 0.2.2 - On-board camera calibration for VOXL
voxl-camera-server - 1.1.0 - publishes camera frames over named pipe interface
voxl-ceres-solver - 1.14.0-7 - ceres-solver for voxl
voxl-ceres-solver - 1.14.0-9
voxl-cpu-monitor - 0.2.6 - publishes CPU Data over MPA pipe and provides fan tools
voxl-docker-support - 1.2.4 - tools to improve the usability of docker on VOXL
voxl-gphoto2-server - 0.0.10 - Gstreamer-based application to pull raw video frames from PTP cameras
voxl-jpeg-turbo - 2.1.3-4 - libjpeg_turbo build for voxl
voxl-libgphoto2 - 0.0.4 - Library to control digital cameras over USB
voxl-libuvc - 1.0.6 - cross-platform library for USB video devices
voxl-logger - 0.3.2 - misc tools for modal pipe architecture
voxl-mapper - 0.0.7 - voxl-mapper
voxl-mavlink - 0.1.0 - mavlink headers
voxl-mavlink-server - 0.1.3 - MPA interface for mavlink over UART or UDP
voxl-modem - 0.16.0 - VOXL Modem Utils
voxl-mongoose - 7.6.0 - mongoose build for voxl
voxl-mpa-to-ros - 0.3.3 - ROSNode converting MPA pipes
voxl-mpa-tools - 0.7.2 - misc tools for modal pipe architecture
voxl-mpa-tools - 0.7.3
voxl-nlopt - 2.5.0-4 - nlopt
voxl-opencv - 4.5.5-1 - opencv built for VOXL
voxl-portal - 0.2.8 - Debug web interface for VOXL
voxl-qvio-server - 0.7.1 - publishes QVIO data over named pipe interface
voxl-streamer - 0.3.6 - Gstreamer-based application to handle RTSP streaming
voxl-suite - 0.8.1 - voxl-suite for APQ8096 VOXL
voxl-tag-detector - 0.0.4 - Detect apriltags for MPA
voxl-tflite-server - 0.2.7 - client of voxl-camera-server that does deep learning
voxl-utils - 1.1.4 - ModalAI common on-target utilities for VOXL
voxl-uvc-server - 0.1.1 - libuvc application to handle UVC camera frame output to MPA
voxl-vision-px4 - 1.2.0 - Interface between VOXL's computer vision services and PX4
voxl-voxblox - 1.0.4 - voxblox library api
voxl-voxblox - 1.1.2
voxl-vpn - 0.0.6 - ModalNet VPN software

```

## Reply by Guest · 2022-09-22 16:36:06 UTC

Heey @ahmed-mustahid,

Looks like you have some dependency version issues. The voxl-voxblox version you are using is NOT from the sdk-0.8 release, it is a much newer version from our dev repos. See the versions that get grabbed here:
```
voxl-cross:~(master)(0.0.7)$ ./install_build_deps.sh apq8096 sdk-0.8
using apq8096 sdk-0.8 repo
Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//Packages.gz.
Updated source 'sdk-0.8'.
installing: 
libmodal-json
libvoxl-cutils
voxl-ceres-solver
voxl-nlopt
voxl-mpa-tools
libmodal-pipe
voxl-voxblox
Installing libmodal-json (0.4.2) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//libmodal-json_0.4.2.ipk.
Configuring libmodal-json.
Installing libvoxl-cutils (0.1.1) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//libvoxl-cutils_0.1.1.ipk.
Configuring libvoxl-cutils.
Installing voxl-ceres-solver (1.14.0) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//voxl-ceres-solver_1.14.0-7.ipk.
Configuring voxl-ceres-solver.
Installing voxl-nlopt (2.5.0) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//voxl-nlopt_2.5.0-4.ipk.
Configuring voxl-nlopt.

Done installing nlopt

Installing voxl-mpa-tools (0.7.2) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//voxl-mpa-tools_0.7.2.ipk.
Configuring voxl-mpa-tools.
Installing libmodal-pipe (2.4.0) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//libmodal-pipe_2.4.0.ipk.
Configuring libmodal-pipe.
Installing voxl-voxblox (1.0.4) on root.
Downloading http://voxl-packages.modalai.com/dists/apq8096/sdk-0.8/binary-arm64//voxl-voxblox_1.0.4.ipk.
Configuring voxl-voxblox.

Done installing voxblox

Done installing dependencies
```

Try rebuilding with a fresh docker env and installing all dependencies from either the `stable` or `sdk-0.8` repos.

## Reply by Guest · 2022-09-22 16:37:55 UTC

Also, `opkg list` shows all available versions of packages, so to see what you are actually using you can run `opkg list-installed`
