Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 611404 - dev-python/rospkg-1.1.0-r1: roscore ... No such file or directory: '/usr/share/${package_name}/package.xml'
Summary: dev-python/rospkg-1.1.0-r1: roscore ... No such file or directory: '/usr/shar...
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-02 15:04 UTC by Tim Rakowski
Modified: 2017-03-02 15:51 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Rakowski 2017-03-02 15:04:42 UTC
This is basically a note for other users who, like me, did not have to update all ros packages, yet:

If roscore or any other ros component crashes during a package cache update with a message similar to the one below, you need to update all packages which have a package.xml in /usr/share/ros_packages/$package_name, but not in /usr/share/$package_name.

$ roscore
WARNING: unable to configure logging. No log files will be generated
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://hostname:45731/
ros_comm version 1.13.0

SUMMARY
========

PARAMETERS
 * /rosdistro: Gentoo
 * /rosversion: 1.13.0

NODES

auto-starting new master
process[master]: started with pid [1956]
Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/rosmaster", line 35, in <module>
    rosmaster.rosmaster_main()
  File "/usr/lib64/python2.7/site-packages/rosmaster/main.py", line 80, in rosmaster_main
    configure_logging()   
  File "/usr/lib64/python2.7/site-packages/rosmaster/main.py", line 58, in configure_logging
    _log_filename = rosgraph.roslogging.configure_logging('rosmaster', logging.DEBUG, filename=filename)
  File "/usr/lib64/python2.7/site-packages/rosgraph/roslogging.py", line 107, in configure_logging
    rosgraph_d = rospkg.RosPack().get_path('rosgraph')
  File "/usr/lib64/python2.7/site-packages/rospkg/rospack.py", line 202, in get_path
    self._update_location_cache()
  File "/usr/lib64/python2.7/site-packages/rospkg/rospack.py", line 185, in _update_location_cache
    list_by_path(self._manifest_name, path, cache)
  File "/usr/lib64/python2.7/site-packages/rospkg/rospack.py", line 68, in list_by_path
    root = ElementTree(None, os.path.join(d, PACKAGE_FILE))
  File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 611, in __init__
    self.parse(file)
  File "<string>", line 26, in parse
IOError: [Errno 2] No such file or directory: '/usr/share/filters/package.xml'
Comment 1 Tim Rakowski 2017-03-02 15:19:30 UTC
Here is how you can update all of those packages:

sudo emerge -1a $( python2 -c "import os; print '\n'.join([package for package in [d.split('/')[-1] for d, _, files in os.walk('/usr/share/ros_packages', topdown=True, followlinks=True) if 'package.xml' in files] if not os.path.exists('/usr/share/' + package + '/package.xml')])")