jsk-ros-pkg / geneus

3 stars 16 forks source link

Many ``Could not find roseus messages for xx`` Errors #33

Closed wkentaro closed 9 years ago

wkentaro commented 9 years ago

This seems to happen because the dependent messages are not generated.

assigned to @wkentaro .

$ ros::load-ros-manifest "jsk_2014_picking_challenge"
[ERROR] [1433371514.068088794]: Could not find roseus messages for rosserial_arduino under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh rosserial_arduino
[ERROR] [1433371514.068190572]: Could not find roseus messages for rosserial_arduino under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh rosserial_arduino
[ERROR] [1433371514.068467274]: Could not find roseus messages for rosserial_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh rosserial_msgs
[ERROR] [1433371514.075040270]: Could not find roseus messages for rosserial_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh rosserial_msgs
[ERROR] [1433371514.210329008]: Could not find roseus messages for octomap_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh octomap_msgs
[ERROR] [1433371514.210394269]: Could not find roseus messages for octomap_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh octomap_msgs
[ERROR] [1433371514.210731303]: Could not find roseus messages for people_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh people_msgs
[ERROR] [1433371514.210780763]: Could not find roseus messages for people_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh people_msgs
[ERROR] [1433371514.309467958]: Could not find roseus messages for ml_classifiers under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh ml_classifiers
[ERROR] [1433371514.309552627]: Could not find roseus messages for ml_classifiers under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh ml_classifiers
[ERROR] [1433371514.333480766]: Could not find roseus messages for roscpp_tutorials under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh roscpp_tutorials
[ERROR] [1433371514.333557711]: Could not find roseus messages for roscpp_tutorials under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh roscpp_tutorials
[ERROR] [1433371514.627470831]: Could not find roseus messages for shape_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh shape_msgs
[ERROR] [1433371514.627553169]: Could not find roseus messages for shape_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh shape_msgs
[ERROR] [1433371514.627906030]: Could not find roseus messages for object_recognition_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh object_recognition_msgs
[ERROR] [1433371514.627962906]: Could not find roseus messages for object_recognition_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh object_recognition_msgs
[ERROR] [1433371514.669822096]: Could not find roseus messages for stereo_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh stereo_msgs
[ERROR] [1433371514.669913918]: Could not find roseus messages for stereo_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh stereo_msgs
[ERROR] [1433371514.745084190]: Could not find roseus messages for laser_assembler under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh laser_assembler
[ERROR] [1433371514.745154503]: Could not find roseus messages for laser_assembler under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh laser_assembler
[ERROR] [1433371515.044842971]: Could not find roseus messages for moveit_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh moveit_msgs
[ERROR] [1433371515.044912674]: Could not find roseus messages for moveit_msgs under (/home/wkentaro/ros/indigo/devel/share/roseus/ros /opt/ros/indigo/share/roseus/ros)
try rosrun roseus generate-all-msg-srv.sh moveit_msgs
wkentaro commented 9 years ago

With below patch in roseus package. It can see dependent packages in running, however can't see implicit dependencies. If all packages are installed in src not with deb, this does work. But if not so, it is not possible to generate all implicit dependent messages beforehand.

diff --git a/roseus/cmake/roseus.cmake b/roseus/cmake/roseus.cmake
index 75bfc67..3ee87bd 100644
--- a/roseus/cmake/roseus.cmake
+++ b/roseus/cmake/roseus.cmake
@@ -39,8 +39,8 @@ macro(generate_all_roseus_messages)
   string(REGEX MATCH "catkin" need_catkin "$ENV{_}")
   if(need_catkin OR ${target_pkg} STREQUAL "roseus") # do not run upstream message generation on buildfirm
     get_cmake_property(_variables VARIABLES)
-    foreach(_variable ${_variables})
-      string(REGEX REPLACE "^(.*)_(MESSAGE|SERVICE)_FILES$" "\\1" _pkg ${_variable})
+    _catkin_package_xml(${CMAKE_CURRENT_BINARY_DIR}/roseus_generated)
+    foreach(_pkg ${${PROJECT_NAME}_RUN_DEPENDS})
       if("${_pkg}_FOUND" AND NOT ${_pkg}_SOURCE_PREFIX AND NOT TARGET ${_pkg}_generate_messages_eus)
         _list_append_unique(_${target_pkg}_generate_roseus_message_packages_all ${_pkg})
         if(NOT EXISTS ${roseus_PREFIX}/share/roseus/ros/${_pkg})
wkentaro commented 9 years ago

SEE: https://github.com/jsk-ros-pkg/jsk_roseus/pull/319

wkentaro commented 9 years ago

Should be solved via https://github.com/jsk-ros-pkg/jsk_roseus/pull/335