jsk-ros-pkg / geneus

3 stars 16 forks source link

Is genmeg generating euslisp msg files for packages installed from deb? #51

Open snozawa opened 7 years ago

snozawa commented 7 years ago

Is genmeg generating euslisp msg files for packages installed from deb?

Here is the problem I encountered:

I added jsk_footstep_planner test on for travis. https://travis-ci.org/jsk-ros-pkg/jsk_control/builds/174396909

jsk_footstep_planner depends on jsk_footstep_msgs. On travis, jsk_footstep_msgs is installed from deb, e.g., ros-indigo-jsk-footstep-msgs.

However, the message generation for jsk_footstep_msgs is not executed and euslisp test using JSK_FOOTSTEP_MSGS::FOOOTSTEP fails. https://s3.amazonaws.com/archive.travis-ci.org/jobs/174396911/log.txt

On my laptop, I tested the following command:

catkin bt --summarize --force-cmake --dry-run

For this test, I prepared source of jsk_footsetp_planner and install jsk_footstep_msgs from deb. The results are as follows:

nozawa@nozawa-ThinkPad-W540:~/ros/indigo/src/jsk-ros-pkg/jsk_control/jsk_footstep_planner$ catkin bt --summarize --force-cmake --dry-run
==> Expanding alias 'bt' from 'catkin bt --summarize --force-cmake --dry-run' to 'catkin b --this --summarize --force-cmake --dry-run'
==> Expanding alias 'b' from 'catkin b --this --summarize --force-cmake --dry-run' to 'catkin build --this --summarize --force-cmake --dry-run'
---------------------------------------------------------------------------------
Profile:                     default
Extending:          [cached] /home/nozawa/ros/indigo_parent/devel:/opt/ros/indigo
Workspace:                   /home/nozawa/ros/indigo
Source Space:       [exists] /home/nozawa/ros/indigo/src
Build Space:        [exists] /home/nozawa/ros/indigo/build
Devel Space:        [exists] /home/nozawa/ros/indigo/devel
Install Space:     [missing] /home/nozawa/ros/indigo/install
DESTDIR:                     None
---------------------------------------------------------------------------------
Isolate Develspaces:         False
Install Packages:            False
Isolate Installs:            False
---------------------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
---------------------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
---------------------------------------------------------------------------------
Workspace configuration appears valid.
--------------------------------------------------------------------------------- 
Found '212' packages in 0.5 seconds. 
Packages to be built: 
- dynamic_tf_publisher    (catkin) 
- euscollada              (catkin) 
- image_view2             (catkin) 
- jsk_data                (catkin) 
- jsk_gui_msgs            (catkin) 
- jsk_hark_msgs           (catkin) 
- jsk_recognition_msgs    (catkin) 
- jsk_topic_tools         (catkin) 
- jsk_recognition_utils   (catkin) 
- jsk_pcl_ros_utils       (catkin) 
- jsk_pcl_ros             (catkin) 
- jsk_rviz_plugins        (catkin) 
- resized_image_transport (catkin) 
- roseus                  (catkin) 
- pr2eus                  (catkin) 
- pr2eus_moveit           (catkin) 
- jsk_interactive_marker  (catkin) 
- jsk_footstep_planner    (catkin) 
Total packages: 18 

In this case, jsk_footsetp_msgs is not included for catkin build target. Therefore, the message generation for packages installed from deb seems not to be executed.

If this situation is expected behavior, how can I use geneus message generation for packages installed from deb?

k-okada commented 7 years ago

yes, if you have package that depends on both roseus and jsk_footsetp_msgs in your workspace

◉ Kei Okada

2016-11-09 13:12 GMT+09:00 Shunichi Nozawa notifications@github.com:

Is genmeg generating euslisp msg files for packages installed from deb?

Here is the problem I encountered:

I added jsk_footstep_planner test on for travis. https://travis-ci.org/jsk-ros-pkg/jsk_control/builds/174396909

jsk_footstep_planner depends on jsk_footstep_msgs. On travis, jsk_footstep_msgs is installed from deb, e.g., ros-indigo-jsk-footstep-msgs.

However, the message generation for jsk_footstep_msgs is not executed and euslisp test using JSK_FOOTSTEP_MSGS::FOOOTSTEP fails. https://s3.amazonaws.com/archive.travis-ci.org/jobs/174396911/log.txt

On my laptop, I tested the following command:

catkin bt --summarize --force-cmake --dry-run

For this test, I prepared source of jsk_footsetp_planner and install jsk_footstep_msgs from deb. The results are as follows:

nozawa@nozawa-ThinkPad-W540:~/ros/indigo/src/jsk-ros-pkg/jsk_control/jsk_footstep_planner$ catkin bt --summarize --force-cmake --dry-run ==> Expanding alias 'bt' from 'catkin bt --summarize --force-cmake --dry-run' to 'catkin b --this --summarize --force-cmake --dry-run'

==> Expanding alias 'b' from 'catkin b --this --summarize --force-cmake --dry-run' to 'catkin build --this --summarize --force-cmake --dry-run'

Profile: default Extending: [cached] /home/nozawa/ros/indigo_parent/devel:/opt/ros/indigo Workspace: /home/nozawa/ros/indigo Source Space: [exists] /home/nozawa/ros/indigo/src Build Space: [exists] /home/nozawa/ros/indigo/build Devel Space: [exists] /home/nozawa/ros/indigo/devel Install Space: [missing] /home/nozawa/ros/indigo/install

DESTDIR: None

Isolate Develspaces: False Install Packages: False

Isolate Installs: False

Additional CMake Args: None Additional Make Args: None Additional catkin Make Args: None

Internal Make Job Server: True

Whitelisted Packages: None

Blacklisted Packages: None

Workspace configuration appears valid.

Found '212' packages in 0.5 seconds. Packages to be built:

  • dynamic_tf_publisher (catkin)
  • euscollada (catkin)
  • image_view2 (catkin)
  • jsk_data (catkin)
  • jsk_gui_msgs (catkin)
  • jsk_hark_msgs (catkin)
  • jsk_recognition_msgs (catkin)
  • jsk_topic_tools (catkin)
  • jsk_recognition_utils (catkin)
  • jsk_pcl_ros_utils (catkin)
  • jsk_pcl_ros (catkin)
  • jsk_rviz_plugins (catkin)
  • resized_image_transport (catkin)
  • roseus (catkin)
  • pr2eus (catkin)
  • pr2eus_moveit (catkin)
  • jsk_interactive_marker (catkin)
  • jsk_footstep_planner (catkin) Total packages: 18

In this case, jsk_footsetp_msgs is not included for catkin build target. Therefore, the message generation for packages installed from deb seems not to be executed.

If this situation is expected behavior, how can I use geneus message generation for packages installed from deb?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jsk-ros-pkg/geneus/issues/51, or mute the thread https://github.com/notifications/unsubscribe-auth/AAeG3I0B3OYup7oAEBLT3yrOvkjoxe8tks5q8UgwgaJpZM4KtK2B .

snozawa commented 7 years ago

https://github.com/jsk-ros-pkg/geneus/issues/30 seems to be related issue.

snozawa commented 7 years ago

@k-okada

yes, if have to have package that depends on both roseus and jsk_footsetp_msgs in your workspace

Thank you for your early reply!! OK, I'll try to add source installation of jsk_common_msgs even on travis tests.

I have another questions about euslisp message generation. What is the difference between jsk_footstep_msgs and common deb-installed packages such asstd_msgs? In my pc, std_msgs is installed from deb and roseus message is generated in my workspace:

$ ls ~/ros/indigo/devel/share/roseus/ros/std_msgs
manifest.l  msg

geneus generates messages for std_msgs even if we have no std_msgs source in my workspace.

k-okada commented 7 years ago

you do not have to install msg package from source, use deb version and if you have package that depends on both roseus and jsk_footstep_msgs in your workspace, catkin will generate roseus version of jsk_footstep_msgs from deb package.

k-okada commented 7 years ago

so add roseus to find_package() in jsk_footstep_planner/CMakeLists.txt

snozawa commented 7 years ago

so add roseus to find_package() in jsk_footstep_planner/CMakeLists.txt

I tested this.

$ git diff CMakeLists.txt
diff --git a/jsk_footstep_planner/CMakeLists.txt b/jsk_footstep_planner/CMakeLists.txt
index 42ca703..8566a26 100644
--- a/jsk_footstep_planner/CMakeLists.txt
+++ b/jsk_footstep_planner/CMakeLists.txt
@@ -10,7 +10,7 @@ endif(CCACHE_FOUND)

 find_package(catkin REQUIRED COMPONENTS jsk_footstep_msgs jsk_recognition_utils
   message_generation jsk_topic_tools roscpp pcl_ros geometry_msgs eigen_conversions
-  jsk_interactive_marker visualization_msgs dynamic_reconfigure)
+  jsk_interactive_marker visualization_msgs dynamic_reconfigure roseus)
 find_package(PCL REQUIRED)
 add_service_files(FILES
   ChangeSuccessor.srv CollisionBoundingBoxInfo.srv)

In this case,

I obtain the following results:

$ catkin bt --dry-run
==> Expanding alias 'bt' from 'catkin bt --dry-run' to 'catkin b --this --dry-run'
==> Expanding alias 'b' from 'catkin b --this --dry-run' to 'catkin build --this --dry-run'
---------------------------------------------------------------------------------
Profile:                     default
Extending:          [cached] /home/nozawa/ros/indigo_parent/devel:/opt/ros/indigo
Workspace:                   /home/nozawa/ros/indigo
Source Space:       [exists] /home/nozawa/ros/indigo/src
Build Space:        [exists] /home/nozawa/ros/indigo/build
Devel Space:        [exists] /home/nozawa/ros/indigo/devel
Install Space:     [missing] /home/nozawa/ros/indigo/install
DESTDIR:                     None
---------------------------------------------------------------------------------
Isolate Develspaces:         False
Install Packages:            False
Isolate Installs:            False
---------------------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
---------------------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
---------------------------------------------------------------------------------
Workspace configuration appears valid.
--------------------------------------------------------------------------------- 
Found '207' packages in 0.5 seconds. 
Packages to be built: 
- dynamic_tf_publisher    (catkin) 
- euscollada              (catkin) 
- image_view2             (catkin) 
- jsk_data                (catkin) 
- jsk_recognition_msgs    (catkin) 
- jsk_topic_tools         (catkin) 
- jsk_recognition_utils   (catkin) 
- jsk_pcl_ros_utils       (catkin) 
- jsk_pcl_ros             (catkin) 
- jsk_rviz_plugins        (catkin) 
- resized_image_transport (catkin) 
- roseus                  (catkin) 
- pr2eus                  (catkin) 
- pr2eus_moveit           (catkin) 
- jsk_interactive_marker  (catkin) 
- jsk_footstep_planner    (catkin) 
Total packages: 16 

roseus is added to build target, but jsk_footstep_msgs seems still not to be build target.

k-okada commented 7 years ago

roseus is added to build target, but jsk_footstep_msgs seems still not to be build target.

that's expected behavior, geneus compile deb messages within the package building process, for example in this case jsk_footstep_planner will compile jsk_footstep_msgs messages too. see https://github.com/jsk-ros-pkg/jsk_robot/issues/678 for more explanation