ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

just copying catkin_ws/src from other,and catkin_make causes 'can't find *.h'

asked 2016-01-21 07:15:31 -0500

jinhwan gravatar image

updated 2016-01-21 07:18:01 -0500

I built new system for computer A, so I copied my working version of catkin_ws/src from the computer B. during the copying process, i occluded src/CMakeList.txt, i did 'catkin_init_workspace' to make new CMakeList.txt for the new system. After simple copying the files, i did first catkin_make, source /devel/, installing all required dependency. A, B both have same OS(ubuntu vivid) and same ROS(jade), So i didn't expected issues. But when i do 'catkin_make' it cause below messages which said that it can't find header file. What can cause this kind of issue? if i want to move source file, should i care more than simply copying file?

[ 11%] Building CXX object lsd_slam/lsd_slam_core/CMakeFiles/lsdslam.dir/src/IOWrapper/ROS/ROSOutput3DWrapper.cpp.o
/home/isnl/catkin_ws/src/lsd_slam/lsd_slam_core/src/IOWrapper/ROS/ROSOutput3DWrapper.cpp:28:46: fatal error: lsd_slam_viewer/keyframeGraphMsg.h: No such file or directory
 #include "lsd_slam_viewer/keyframeGraphMsg.h"
compilation terminated.
[ 12%] Building CXX object lsd_slam/lsd_slam_core/CMakeFiles/lsdslam.dir/src/IOWrapper/OpenCV/ImageDisplay_OpenCV.cpp.o
lsd_slam/lsd_slam_core/CMakeFiles/lsdslam.dir/build.make:560: recipe for target 'lsd_slam/lsd_slam_core/CMakeFiles/lsdslam.dir/src/IOWrapper/ROS/ROSOutput3DWrapper.cpp.o' failed
make[2]: *** [lsd_slam/lsd_slam_core/CMakeFiles/lsdslam.dir/src/IOWrapper/ROS/ROSOutput3DWrapper.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:4160: recipe for target 'lsd_slam/lsd_slam_core/CMakeFiles/lsdslam.dir/all' failed
make[1]: *** [lsd_slam/lsd_slam_core/CMakeFiles/lsdslam.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
edit retag flag offensive close merge delete


Are your workspaces in the same location on both machines? If not, CMake caches could be retaining incorrect information. It's probably a good idea to delete the build/, devel/, and install/ directories in the workspace on the new machine. Then source the jade setup.bash and run catkin_make.

jarvisschultz gravatar image jarvisschultz  ( 2016-01-22 06:44:29 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2016-01-21 22:09:55 -0500

superjax gravatar image

It looks to me like a custom message isn't being built. Check to make sure that your IOWrapper package CMakeLists.txt has a dependency on lsd_slam_viewer_generate_messages_cpp. Here is another question that explains how to properly build messages from separate packages.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2016-01-21 07:15:31 -0500

Seen: 666 times

Last updated: Jan 21 '16