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

Revision history [back]

click to hide/show revision 1
initial version

It looks like the dependency on defusedxml was added quite recently in the Kinetic branch: https://github.com/ros/ros_comm/commit/d727416e243b0ae0757754d540648f01b13d990a . That patch does not exist in the Indigo/Jade branch (indigo-devel)

Depending on why you installed a newer version of ros_comm, you have a couple of different options:

  • If you installed ros_comm because you didn't think it was installed, you can remove it; it's part of every ROS install from debs. Just remove the ros_comm folder from your workspace, delete the build and devel directories to clear out any cached paths, and rebuild your workspace.
  • If you installed ros_comm because you wanted patches for Jade that aren't available in the public repository yet, you can try to check out the indigo-devel branch of ros_comm (used for both Indigo and Jade), and rebuild your workspace.
  • If you really wanted to use the Kinetic version of ros_comm with Jade, you can try to install the python-defusedxml package through apt. (no guarantees that the API is identical between Jade and Kinectic versions of ros_comm).

Also note that building the C++ parts of ros_comm in your overlay is not recommended. ROS uses dynamic linking, and rebuilding core libraries such as roscpp in your workspace can result in broken run-time library dependencies. Any nodes or libraries that are installed through apt were built against the version of roscpp in apt, but if you put a newer version of roscpp in your workspace they will try to use that version at run-time. If there are any conflicts or changes between the two versions of roscpp the packages installed from apt won't work.

click to hide/show revision 2
No.2 Revision

It looks like the dependency on defusedxml was added quite recently in the Kinetic branch: https://github.com/ros/ros_comm/commit/d727416e243b0ae0757754d540648f01b13d990a . branch in PR 782, which was merged Apr 12. This is part of the sros work by Morgan Quigley. That patch does not exist in the Indigo/Jade branch (indigo-devel)

Depending on why you installed a newer version of ros_comm, you have a couple of different options:

  • If you installed ros_comm because you didn't think it was installed, you can remove it; it's part of every ROS install from debs. Just remove the ros_comm folder from your workspace, delete the build and devel directories to clear out any cached paths, and rebuild your workspace.
  • If you installed ros_comm because you wanted patches for Jade that aren't available in the public repository yet, you can try to check out the indigo-devel branch of ros_comm (used for both Indigo and Jade), and rebuild your workspace.
  • If you really wanted to use the Kinetic version of ros_comm with Jade, you can try to install the python-defusedxml package through apt. (no guarantees that the API is identical between Jade and Kinectic versions of ros_comm).

Also note that building the C++ parts of ros_comm in your overlay is not recommended. ROS uses dynamic linking, and rebuilding core libraries such as roscpp in your workspace can result in broken run-time library dependencies. Any nodes or libraries that are installed through apt were built against the version of roscpp in apt, but if you put a newer version of roscpp in your workspace they will try to use that version at run-time. If there are any conflicts or changes between the two versions of roscpp the packages installed from apt won't work.