Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 255

Message files not being generated properly with catkin_make

$
0
0
I have a workspace with 3 packages: an rqt plugin written in C++ (package A), a package with two custom messages (package B), and another C++ package (package C). Packages A and C both rely on the custom messages defined in package B. To ensure that the dependencies for the executables in packages A and C are met, I have added the following line for each applicable executable: `add_dependencies(executable_name ${catkin_EXPORTED_TARGETS}) ` Unfortunately, when I try to compile using `catkin_make`, I get an error saying that the header file for the messages don't exist. I'm fairly certain this error is coming from package A, the rqt plugin, since doing a catkin_make on package C alone generates no errors and successfully compiles the header files for the messages before trying to compile the executables (and catkin_make on the entire workspace works just fine after that since the header files have already been generated). How do I go about telling catkin that the rqt plugin depends on the message files? I already have the message package name listed in the CMakeLists.txt file for the plugin as `find_package(catkin REQUIRED COMPONENTS package_b)` but that doesn't resolve the issue. I'm currently compiling in ROS Kinetic but this issue existed in Indigo as well before I upgraded. Any help would be appreciated. ---------- ***Update*: **CMakeLists.txt files** Package A: cmake_minimum_required(VERSION 2.8.3) project(rqt_gcs) find_package(catkin REQUIRED COMPONENTS query_msgs geometry_msgs mavros mavros_msgs roscpp rqt_gui rqt_gui_cpp roslib sensor_msgs std_msgs tf cv_bridge image_transport ) find_package(Qt4 COMPONENTS QtCore QtGui QtSvg REQUIRED) find_package(Boost REQUIRED COMPONENTS thread) find_package(OpenCV REQUIRED) include(${QT_USE_FILE}) include(EnableCXX11) include(MavrosMavlink) set(rqt_gcs_SRCS src/rqt_gcs/simple_gcs.cpp src/rqt_gcs/simple_control.cpp src/FIS/qfi_PFD.cpp src/FIW/LayoutSquare.cpp src/FIW/WidgetPFD.cpp src/rqt_image_view/ratio_layouted_frame.cpp ) set(rqt_gcs_HDRS include/rqt_gcs/simple_gcs.h include/FIS/qfi_PFD.h include/FIW/LayoutSquare.h include/FIW/WidgetPFD.h include/rqt_image_view/ratio_layouted_frame.h ) set(rqt_gcs_UIS resources/gcs.ui resources/AccessPointsMenu.ui resources/AccessPointStats.ui resources/MissionSelect.ui resources/MissionCancel.ui resources/MissionProgress.ui resources/UavStat.ui resources/UavQuestion.ui resources/QuadStats.ui resources/WidgetPFD.ui resources/PFDWidget_custom.ui resources/WidgetMain.ui resources/UAVCondition.ui resources/ImageView.ui resources/MissionConfirm.ui resources/PictureMsg.ui ) SET(rqt_gcs_RCCS resources/qfi.qrc) set(rqt_gcs_INCLUDE_DIRECTORIES include ${CMAKE_CURRENT_BINARY_DIR} ) catkin_python_setup() catkin_package( INCLUDE_DIRS ${rqt_gcs_INCLUDE_DIRECTORIES} LIBRARIES ${PROJECT_NAME} CATKIN_DEPENDS roscpp rqt_gui rqt_gui_cpp std_msgs sensor_msgs ) include_directories(include ${Qt4_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ) add_definitions(${Qt4_DEFINITIONS}) qt4_add_resources(rqt_gcs_RCC_SRCS ${rqt_gcs_RCCS}) qt4_wrap_cpp(rqt_gcs_MOCS ${rqt_gcs_HDRS}) qt4_wrap_ui(rqt_gcs_UIS_H ${rqt_gcs_UIS}) include_directories(${rqt_gcs_INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS}) # Declare executables with source files add_executable(simple_control src/rqt_gcs/simple_control.cpp) add_executable(gps_publisher src/rqt_gcs/gps_publisher.cpp) add_executable(gps_demo src/rqt_gcs/gps_demo.cpp) add_executable(connection_manager src/rqt_gcs/connection_manager.cpp) add_executable(safe_mocap src/rqt_gcs/safe_mocap.cpp) add_dependencies(simple_control ${catkin_EXPORTED_TARGETS}) add_dependencies(gps_demo ${catkin_EXPORTED_TARGETS}) add_library(${PROJECT_NAME} ${rqt_gcs_SRCS} ${rqt_gcs_MOCS} ${rqt_gcs_UIS_H} ${rqt_gcs_RCC_SRCS}) #Specify libraries against which to link target_link_libraries(simple_control ${catkin_LIBRARIES}) target_link_libraries(gps_publisher ${catkin_LIBRARIES}) target_link_libraries(gps_demo ${catkin_LIBRARIES}) target_link_libraries(connection_manager ${catkin_LIBRARIES}) target_link_libraries(safe_mocap ${catkin_LIBRARIES}) target_link_libraries( ${PROJECT_NAME} ${catkin_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTSVG_LIBRARY} ${OpenCV_LIBRARIES} ) find_package(class_loader) class_loader_hide_library_symbols(${PROJECT_NAME}) install(FILES plugin.xml DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} ) install(PROGRAMS scripts/rqt_gcs DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} ) install(PROGRAMS scripts/rqt_gcs DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) install(DIRECTORY include/${PROJECT_NAME}/ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} ) Package B: cmake_minimum_required(VERSION 2.8.3) project(query_msgs) find_package(catkin REQUIRED COMPONENTS message_generation sensor_msgs geometry_msgs) include_directories(include) add_message_files( DIRECTORY msg FILES Door.msg Target.msg) generate_messages(DEPENDENCIES sensor_msgs geometry_msgs) catkin_package(CATKIN_DEPENDS message_runtime sensor_msgs geometry_msgs) ---------- **Package.xml files** Package A: rqt_gcs0.0.0The rqt_gcs packagehovigTODOcatkinroscpprqt_guirqt_gui_cppmav_controlstd_msgssensor_msgsquery_msgsroscpprqt_guirqt_gui_cpprostopicstd_msgsmav_controlsensor_msgsquery_msgs Package B: query_msgs0.0.0The query_msgs packageserlTODOcatkinmessage_generationsensor_msgsgeometry_msgsmessage_runtimesensor_msgsgeometry_msgs ---------- **The compile output** (Error is where it says `No such file or directory`) [ 0%] Built target sensor_msgs_generate_messages_eus [ 0%] Built target geometry_msgs_generate_messages_eus [ 0%] Built target _query_msgs_generate_messages_check_deps_Door [ 0%] Built target sensor_msgs_generate_messages_nodejs [ 0%] Built target geometry_msgs_generate_messages_nodejs [ 0%] Built target _query_msgs_generate_messages_check_deps_Target [ 0%] Built target geometry_msgs_generate_messages_lisp [ 0%] Built target sensor_msgs_generate_messages_lisp [ 0%] Built target geometry_msgs_generate_messages_py [ 0%] Built target sensor_msgs_generate_messages_py [ 0%] Built target sensor_msgs_generate_messages_cpp [ 0%] Built target geometry_msgs_generate_messages_cpp [ 4%] Built target stereo_driver [ 7%] Built target camera_publisher [ 10%] Built target stereo_publisher [ 12%] Built target camera_subscriber [ 12%] Built target std_msgs_generate_messages_py [ 12%] Built target stereo_msgs_generate_messages_eus [ 12%] Built target std_msgs_generate_messages_cpp [ 12%] Built target std_msgs_generate_messages_eus [ 12%] Built target std_msgs_generate_messages_nodejs [ 12%] Built target std_msgs_generate_messages_lisp [ 12%] Built target stereo_msgs_generate_messages_py [ 12%] Built target rosgraph_msgs_generate_messages_cpp [ 12%] Built target roscpp_generate_messages_py [ 12%] Built target rosgraph_msgs_generate_messages_eus [ 12%] Built target rosgraph_msgs_generate_messages_nodejs [ 12%] Built target roscpp_generate_messages_cpp [ 12%] Built target rosgraph_msgs_generate_messages_lisp [ 12%] Built target rosgraph_msgs_generate_messages_py [ 12%] Built target roscpp_generate_messages_nodejs [ 12%] Built target stereo_msgs_generate_messages_cpp [ 12%] Built target stereo_msgs_generate_messages_nodejs [ 12%] Built target roscpp_generate_messages_lisp [ 12%] Built target roscpp_generate_messages_eus [ 12%] Built target stereo_msgs_generate_messages_lisp [ 15%] Built target object_avoidance [ 18%] Built target safe_mocap [ 20%] Building CXX object rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_gcs.cpp.o [ 22%] Built target connection_manager [ 24%] Building CXX object rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_control.cpp.o [ 25%] Building CXX object rqt_gcs/CMakeFiles/gps_publisher.dir/src/rqt_gcs/gps_publisher.cpp.o [ 25%] Built target tf_generate_messages_py [ 25%] Built target nav_msgs_generate_messages_lisp [ 25%] Built target nodelet_generate_messages_nodejs [ 25%] Built target actionlib_generate_messages_py [ 25%] Built target nav_msgs_generate_messages_nodejs [ 25%] Built target tf2_msgs_generate_messages_cpp [ 25%] Built target actionlib_generate_messages_eus [ 25%] Built target tf_generate_messages_cpp [ 25%] Built target actionlib_generate_messages_cpp [ 25%] Built target tf2_msgs_generate_messages_py [ 25%] Built target actionlib_msgs_generate_messages_nodejs [ 25%] Built target actionlib_msgs_generate_messages_lisp [ 25%] Built target diagnostic_msgs_generate_messages_eus [ 27%] Building CXX object rqt_gcs/CMakeFiles/rqt_gcs.dir/src/FIS/qfi_PFD.cpp.o In file included from /home/karanvir/Documents/lcar-bot/src/rqt_gcs/src/rqt_gcs/simple_control.cpp:1:0: /home/karanvir/Documents/lcar-bot/src/rqt_gcs/include/rqt_gcs/simple_control.h:33:29: fatal error: query_msgs/Door.h: No such file or directory compilation terminated. rqt_gcs/CMakeFiles/rqt_gcs.dir/build.make:208: recipe for target 'rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_control.cpp.o' failed make[2]: *** [rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_control.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /home/karanvir/Documents/lcar-bot/src/rqt_gcs/include/rqt_gcs/simple_gcs.h:7:0, from /home/karanvir/Documents/lcar-bot/src/rqt_gcs/src/rqt_gcs/simple_gcs.cpp:1: /home/karanvir/Documents/lcar-bot/src/rqt_gcs/include/rqt_gcs/simple_control.h:33:29: fatal error: query_msgs/Door.h: No such file or directory compilation terminated. rqt_gcs/CMakeFiles/rqt_gcs.dir/build.make:184: recipe for target 'rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_gcs.cpp.o' failed make[2]: *** [rqt_gcs/CMakeFiles/rqt_gcs.dir/src/rqt_gcs/simple_gcs.cpp.o] Error 1 [ 27%] Built target diagnostic_msgs_generate_messages_nodejs [ 27%] Built target mavros_msgs_generate_messages_cpp [ 27%] Built target actionlib_msgs_generate_messages_py [ 27%] Built target actionlib_generate_messages_nodejs [ 27%] Built target actionlib_msgs_generate_messages_cpp [ 27%] Built target nav_msgs_generate_messages_cpp [ 27%] Built target nodelet_generate_messages_py [ 27%] Built target diagnostic_msgs_generate_messages_cpp [ 27%] Built target tf_generate_messages_nodejs [ 27%] Built target nav_msgs_generate_messages_py [ 27%] Built target nav_msgs_generate_messages_eus [ 27%] Built target tf2_msgs_generate_messages_lisp [ 27%] Built target diagnostic_msgs_generate_messages_py [ 27%] Built target tf_generate_messages_lisp [ 27%] Built target mavros_msgs_generate_messages_eus [ 27%] Built target mavros_msgs_generate_messages_lisp [ 27%] Built target tf_generate_messages_eus [ 27%] Built target mavros_msgs_generate_messages_py [ 27%] Built target tf2_msgs_generate_messages_eus [ 27%] Built target nodelet_generate_messages_cpp [ 27%] Built target nodelet_generate_messages_lisp [ 27%] Built target mavros_msgs_generate_messages_nodejs [ 27%] Built target bond_generate_messages_cpp CMakeFiles/Makefile2:2160: recipe for target 'rqt_gcs/CMakeFiles/rqt_gcs.dir/all' failed make[1]: *** [rqt_gcs/CMakeFiles/rqt_gcs.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 27%] Built target diagnostic_msgs_generate_messages_lisp [ 27%] Built target bond_generate_messages_eus [ 28%] Linking CXX executable /home/karanvir/Documents/lcar-bot/devel/lib/rqt_gcs/gps_publisher [ 28%] Built target gps_publisher Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Base path: /home/karanvir/Documents/lcar-bot Source space: /home/karanvir/Documents/lcar-bot/src Build space: /home/karanvir/Documents/lcar-bot/build Devel space: /home/karanvir/Documents/lcar-bot/devel Install space: /home/karanvir/Documents/lcar-bot/install #### #### Running command: "make cmake_check_build_system" in "/home/karanvir/Documents/lcar-bot/build" #### #### #### Running command: "make -j4 -l4" in "/home/karanvir/Documents/lcar-bot/build" #### Invoking "make -j4 -l4" failed

Viewing all articles
Browse latest Browse all 255

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>