Component not available to include, dvo_slam

asked 2020-02-15 08:14:18 -0500

updated 2020-02-22 15:51:59 -0500

Hi,

I am trying to build this directory for melodic: https://github.com/robmaier/dvo_slam_...

I get the error:

Errors     << dvo_ros:make /home/user/catkit_ws/logs/dvo_ros/build.make.002.log                                    
In file included from /home/user/catkit_ws/src/dvo_slam_correctablefusion/dvo_ros/src/visualization/ros_camera_trajectory_visualizer.cpp:21:0:
/home/user/catkit_ws/src/dvo_slam_correctablefusion/dvo_ros/include/dvo_ros/visualization/ros_camera_trajectory_visualizer.h:24:10: fatal error: dvo/visualization/camera_trajectory_visualizer.h: Fila eller mappa finnes ikkefind_package(catkin REQUIRED COMPONENTS roscpp tf tf_conversions eigen_conversions dynamic_reconfigure dvo_core sensor_msgs image_transport message_filters cv_bridge visualization_msgs interactive_markers pcl_ros)

 #include <dvo/visualization/camera_trajectory_visualizer.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/dvo_ros.dir/src/visualization/ros_camera_trajectory_visualizer.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/user/catkit_ws/src/dvo_slam_correctablefusion/dvo_ros/src/camera_dense_tracking.cpp:27:10: fatal error: dvo/core/surface_pyramid.h: Fila eller mappa finnes ikke
 #include <dvo/core/surface_pyramid.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/dvo_ros.dir/src/camera_dense_tracking.cpp.o] Error 1
make[1]: *** [CMakeFiles/dvo_ros.dir/all] Error 2
make: *** [all] Error 2

The missing package(dvo_core) is correctly identified as a dependency of dvo_ros and built before it tries to build dvo_ros when i run catkin build dvo_ros. Still it seems to not be available in the include path in dvo_ros.

Perhaps relevant parts of CMakeLists.txt:

...
# Note that dvo_core is listed here, which is the package that is not found.
find_package(catkin REQUIRED COMPONENTS roscpp tf tf_conversions eigen_conversions dynamic_reconfigure dvo_core sensor_msgs image_transport message_filters cv_bridge visualization_msgs interactive_markers pcl_ros)
...
include_directories(
  "include"
  ${dvo_ros_INCLUDE_DIRS}
  ${catkin_INCLUDE_DIRS}
  ${EIGEN3_INCLUDE_DIRS}
  ${Boost_INCLUDE_DIRS}
  ${PCL_INCLUDE_DIRS}
)
...
add_library(${PROJECT_NAME} 
    src/camera_base.cpp
    src/camera_dense_tracking.cpp

    src/visualization/ros_camera_trajectory_visualizer.cpp # <-- The file where dvo_core is not found
)
...
target_link_libraries(${PROJECT_NAME}
  ${catkin_LIBRARIES}
)

I am not familiar with CMake and catkin enough to see the problem here. Do any of you know what might be wrong?

System:

uname -a
Linux user 4.15.0-51-generic #55-Ubuntu SMP Wed May 15 14:27:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -d
Description:    Linux Mint 19.1 Tessa    # Based on Ubuntu 18.04 LTS

I am not using Ubuntu, but I have not had issues like this earlier on Mint, so I would guess this would be possible here too.

Enviroment variables:

env | grep ROS
ROS_ETC_DIR=/opt/ros/melodic/etc/ros
ROS_ROOT=/opt/ros/melodic/share/ros
ROS_MASTER_URI=http://localhost:11311
ROS_VERSION=1
ROS_PYTHON_VERSION=2
ROS_PACKAGE_PATH=/home/user/catkit_ws:/opt/ros/melodic/share
ROSLISP_PACKAGE_DIRECTORIES=
ROS_DISTRO=melodic

Not sure if this is relevant, but i tried to run pycharm after seting up my workspace (`source devel/setub.bash), and then the autocomplete suggested the same include paths that are present in the source code.

I would be very grateful if anyone knows how to make the building work.

EDIT: For some reason, it works better with catkin_make instead of caktin build. I gave up this and tried to build https://github.com/howard-mahe/dvo_slam instead. After running plugin_macro_update(which I had to get from the kinetic-devel branch of pluginlib) and adding the path to old CPATH, it worked.

edit retag flag offensive close merge delete