Building voxl-mapper from scratch. voxl-mapper: error while loading shared libraries: libceres.so.1: cannot open shared object file: No such file or directory
-
I have been trying to install voxl mapper from scratch into voxl by building it from voxl-mapper gitlab master branch :
- Install dependencies
voxl-cross:~/voxl-mapper(master)$ ./install_build_deps.sh apq8096 dev using apq8096 dev repo Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//Packages.gz. Updated source 'dev'. installing: libmodal-json libvoxl-cutils voxl-ceres-solver voxl-nlopt voxl-mpa-tools libmodal-pipe voxl-voxblox voxl-vision-px4 voxl-mavlink voxl-eigen3 Installing libmodal-json (0.4.3) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//libmodal-json_0.4.3_202209281920.ipk. Configuring libmodal-json. Installing libvoxl-cutils (0.1.1) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//libvoxl-cutils_0.1.1_202210072353.ipk. Configuring libvoxl-cutils. Installing voxl-ceres-solver (1.14.0) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-ceres-solver_1.14.0-9_202208221901.ipk. Configuring voxl-ceres-solver. Installing voxl-nlopt (2.5.0) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-nlopt_2.5.0-4_202210072358.ipk. Configuring voxl-nlopt. Done installing nlopt Installing voxl-mpa-tools (0.7.5) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-mpa-tools_0.7.5_202210072124.ipk. Configuring voxl-mpa-tools. Installing libmodal-pipe (2.6.0) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//libmodal-pipe_2.6.0_202210052046.ipk. Configuring libmodal-pipe. Installing voxl-voxblox (1.1.3) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-voxblox_1.1.3_202209261707.ipk. Configuring voxl-voxblox. Done installing voxblox Installing voxl-vision-px4 (1.4.0) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-vision-px4_1.4.0_202210072317.ipk. Configuring voxl-vision-px4. //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: 10: //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: systemctl: not found Collected errors: * pkg_run_script: package "voxl-vision-px4" postinst script returned status 127. * opkg_configure: voxl-vision-px4.postinst returned 127. Installing voxl-mavlink (0.1.0) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-mavlink_0.1.0_202207052152.ipk. Configuring voxl-vision-px4. //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: 10: //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: systemctl: not found Configuring voxl-mavlink. Collected errors: * pkg_run_script: package "voxl-vision-px4" postinst script returned status 127. * opkg_configure: voxl-vision-px4.postinst returned 127. Installing voxl-eigen3 (3.4.0) on root. Downloading http://voxl-packages.modalai.com/dists/apq8096/dev/binary-arm64//voxl-eigen3_3.4.0_202208222129.ipk. Configuring voxl-eigen3. Configuring voxl-vision-px4. //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: 10: //usr/local/var/lib/opkg/info/voxl-vision-px4.postinst: systemctl: not found Collected errors: * pkg_run_script: package "voxl-vision-px4" postinst script returned status 127. * opkg_configure: voxl-vision-px4.postinst returned 127. Done installing dependencies
which install dependencies with multiple errors.
- Build
voxl-cross:~/voxl-mapper(master)$ ./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 -- Configuring done -- Generating done -- Build files have been written to: /home/root/voxl-mapper/build64 [ 2%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/motion_defines.cpp.o [ 5%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/polynomial.cpp.o [ 8%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/rpoly_ak1.cpp.o [ 13%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/timing.cpp.o [ 13%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/segment.cpp.o [ 16%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/vertex.cpp.o [ 19%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory_sampling.cpp.o [ 22%] Building CXX object server/mav_trajectory_generation/CMakeFiles/mav_trajectory_generation.dir/src/trajectory.cpp.o [ 25%] Linking CXX shared library libmav_trajectory_generation.so [ 25%] Built target mav_trajectory_generation [ 27%] Building CXX object server/mav_planning_common/CMakeFiles/mav_planning_common.dir/src/yaw_policy.cpp.o [ 30%] Building CXX object server/mav_planning_common/CMakeFiles/mav_planning_common.dir/src/visibility_resampling.cpp.o [ 33%] Building CXX object server/mav_planning_common/CMakeFiles/mav_planning_common.dir/src/color_utils.cpp.o [ 36%] Linking CXX shared library libmav_planning_common.so [ 36%] Built target mav_planning_common [ 38%] Building CXX object server/mav_path_smoothing/CMakeFiles/mav_path_smoothing.dir/src/loco_smoother.cpp.o [ 41%] Building CXX object server/voxblox_planning_common/CMakeFiles/voxblox_planning_common.dir/src/path_shortening.cpp.o [ 50%] Building CXX object server/mav_path_smoothing/CMakeFiles/mav_path_smoothing.dir/src/polynomial_smoother.cpp.o [ 50%] Building CXX object server/voxblox_planning_common/CMakeFiles/voxblox_planning_common.dir/src/gain_evaluator.cpp.o [ 52%] Building CXX object server/mav_path_smoothing/CMakeFiles/mav_path_smoothing.dir/src/path_smoother_base.cpp.o [ 52%] Building CXX object server/mav_path_smoothing/CMakeFiles/mav_path_smoothing.dir/src/velocity_ramp_smoother.cpp.o [ 55%] Linking CXX shared library libvoxblox_planning_common.so [ 55%] Built target voxblox_planning_common [ 58%] Linking CXX shared library libmav_path_smoothing.so [ 58%] Built target mav_path_smoothing [ 61%] Building CXX object server/mav_local_planner/CMakeFiles/mav_local_planner.dir/src/conversions.cpp.o [ 63%] Linking CXX shared library libmav_local_planner.so [ 63%] Built target mav_local_planner [ 66%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/local_planners/global_smoother.cc.o [ 69%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/global_planners/rrt_connect.cc.o [ 72%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/local_planners/local_a_star.cc.o [ 77%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/main.cc.o [ 77%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/config_file.cc.o [ 80%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/obs_pc_filter.cc.o [ 83%] Building C object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/rc_transform.c.o [ 86%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/planner_utils.cc.o [ 88%] Building C object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/rc_transform_ringbuf.c.o [ 94%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/timing_utils.cc.o [ 94%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/voxl_mapper.cc.o [ 97%] Building CXX object server/voxl-mapper/CMakeFiles/voxl-mapper.dir/voxl_planner.cc.o [100%] Linking CXX executable voxl-mapper [100%] Built target voxl-mapper
- Inside voxl:
a. Installed voxl related packages
voxl:~$ opkg list-installed | grep voxl libvoxl-cutils - 0.1.1 voxl-camera-calibration - 0.1.5 voxl-ceres-solver - 1.14.0-7 voxl-cpu-monitor - 0.2.6 voxl-docker-support - 1.2.4 voxl-gphoto2-server - 0.0.10 voxl-jpeg-turbo - 2.1.3-4 voxl-libgphoto2 - 0.0.4 voxl-libuvc - 1.0.6 voxl-logger - 0.1.2 voxl-mapper - 0.1.5 voxl-mavlink - 0.1.0 voxl-mavlink-server - 0.1.1 voxl-modem - 0.16.0 voxl-mongoose - 7.6.0 voxl-mpa-to-ros - 0.3.2 voxl-mpa-tools - 0.7.2 voxl-nlopt - 2.5.0-4 voxl-opencv - 4.5.5-1 voxl-portal - 0.2.8 voxl-qvio-server - 0.4.6 voxl-streamer - 0.3.1 voxl-suite - 0.7.0 voxl-tag-detector - 0.0.4 voxl-tflite-server - 0.2.3 voxl-utils - 1.1.4 voxl-uvc-server - 0.1.1 voxl-vision-px4 - 1.0.5 voxl-voxblox - 1.0.4 voxl-vpn - 0.0.6
b.
voxl:~$ opkg list-installed | grep libmo libmodal-cv - 0.1.0 libmodal-exposure - 0.0.7 libmodal-json - 0.4.2 libmodal-pipe - 2.4.0 libmount1 - 2.26.2-r0.3
Finally inside voxl, when I execute voxl-mapper, I get the error
voxl:~$ voxl-mapper -d voxl-mapper: error while loading shared libraries: libceres.so.1: cannot open shared object file: No such file or directory
Is it happening due to the errors that occured during dependency installation (Step 1) ? How can I resolve this error?
-
Hey @ahmed-mustahid,
This is a version mismatch error. The voxl-ceres-solver (v1.14.0-7) package on your voxl is two versions behind what you built against (v1.14.0-9) since you pulled in the latest from dev. When building our packages from source, make sure you use the same repo that your voxl is sourcing packages from via opkg otherwise issues like this will arise.