I have been using JADE on Ubuntu 14.04 for a while. Yesterday I installed ROS_COMM from https://github.com/ros/ros_comm.git.
After that all was fine. roscore and the luanch files working. Today got error starting roscore about missing module - did not capture exact error, but it ended with the same issue, with that module (defusedxml.xmlrpc)couldn't be found. Based on suggestions found here, I deleted the build and devel folders and rebuilt the entire work space with catkin_make. Since then roscore has been working but the error below as shown occurring with a particular launch. Have not tried other launches. The error is:
[100%] Built target record
linux@linux-Latitude-D630:~/catkin_ws$ source devel/setup.bash
linux@linux-Latitude-D630:~/catkin_ws$ roslaunch hector_slam_launch neato.launch
Traceback (most recent call last):
File "/home/linux/catkin_ws/devel/bin/roslaunch", line 6, in
exec(fh.read())
File "", line 34, in
File "/home/linux/catkin_ws/devel/lib/python2.7/dist-packages/roslaunch/__init__.py", line 35, in
exec(__fh.read())
File "", line 56, in
File "/home/linux/catkin_ws/src/ros_comm/tools/roslaunch/src/roslaunch/launch.py", line 55, in
from roslaunch.nodeprocess import create_master_process, create_node_process
File "/home/linux/catkin_ws/src/ros_comm/tools/roslaunch/src/roslaunch/nodeprocess.py", line 52, in
from rosmaster.master_api import NUM_WORKERS
File "/home/linux/catkin_ws/src/ros_comm/tools/rosmaster/src/rosmaster/__init__.py", line 35, in
from .main import rosmaster_main
File "/home/linux/catkin_ws/src/ros_comm/tools/rosmaster/src/rosmaster/main.py", line 43, in
import rosmaster.master
File "/home/linux/catkin_ws/src/ros_comm/tools/rosmaster/src/rosmaster/master.py", line 47, in
import rosmaster.master_api
File "/home/linux/catkin_ws/src/ros_comm/tools/rosmaster/src/rosmaster/master_api.py", line 72, in
from rosmaster.util import xmlrpcapi
File "/home/linux/catkin_ws/src/ros_comm/tools/rosmaster/src/rosmaster/util.py", line 48, in
from defusedxml.xmlrpc import monkey_patch
ImportError: No module named defusedxml.xmlrpc
The launch file hasn't changed so I doubt anything wrong with launch.
The file reported (module?) as missing is really not on the PC: defusedxml.xmlrpc. I do not know if it was ever on the computer and was never needed before, or it was there and is now gone.
The file is part of python, but the file that calls it is a ROS file and it does not make note of py version. This is the util.py file requesting the file.
"""
Utility routines for rosmaster.
"""
try:
from urllib.parse import urlparse
except ImportError:
from urlparse import urlparse
try:
from xmlrpc.client import ServerProxy
except ImportError:
from xmlrpclib import ServerProxy
from defusedxml.xmlrpc import monkey_patch
monkey_patch()
del monkey_patch
_proxies = {} #cache ServerProxys
def xmlrpcapi(uri):
"""
@return: instance for calling remote server or None if not a valid URI
@rtype: xmlrpc.client.ServerProxy
"""
if uri is None:
return None
uriValidate = urlparse(uri)
if not uriValidate[0] or not uriValidate[1]:
return None
if not uri in _proxies:
_proxies[uri] = ServerProxy(uri)
return _proxies[uri]
def remove_server_proxy(uri):
if uri in _proxies:
del _proxies[uri]
Does it look like simply the file is missing now and the missing file is all that is wrong, or you you think that the file was never here and that installing ros_comm has caused an issue where the file is now being requested in response?
Thanks for your help.
Originally posted by billy on ROS Answers with karma: 1850 on 2016-06-03
Post score: 0
Original comments
Comment by gvdhoorn on 2016-06-16:
If you feel your question has been answered, please indicate that by ticking the checkmark to the left of the answer. That will clearly mark the question as answered in the question list.