-
Notifications
You must be signed in to change notification settings - Fork 913
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rosbag migration does not work for messages outside of catkin #293
Comments
Example line where this is used in migration.py: https://github.com/ros/ros_comm/blob/groovy-devel/tools/rosbag/src/rosbag/migration.py#L639 |
migration.py will have to check the type of the package and invoke Can you please attach an example migration rule and the command sequence which you used? That will make it easier to get this fixed. |
I created a simple test package that demonstrates this problem: Details
To duplicate: rosmake migration_msgs
# Try to make a bag migration rule
rosrun rosbag makerule.py migration_msgs.saved test_bmr_file.bmr -n
# This fails because of the same problem with genpy message loading
# Use the working bag migration rule to migrate the bag file
rosrun rosbag fixbag.py old_message.bag new_message.bag migration_rules/migration_msg.bmr -n
# Fails because of genpy message problem I used the "-n" option to for both rosbag tools (no plugins) because it will reduce problems to look at. It doesn't prevent any problems. |
resolve message classes from dry packages (fix ros/ros_comm#293)
I noticed that rosbag "migration.py" does not work for messages outside of catkin.
Specifically, this is because the "genpy" module does not load message classes unless the message class is loaded in "/opt/ros/groovy/lib/python-2.7". After calling "roslib.load_manifest" for the package, the message will be loaded.
Example (using JoQ's "ackermann_msgs" package, but you get the idea):
This is easy to duplicate using any ROS message that exists outside of "/opt/ros/groovy/lib".
Because rosbag's "migration.py" system uses this method of generating message classes, bag migration will not work for any message that is not installed.
The text was updated successfully, but these errors were encountered: