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

the rosdep view is empty: call 'sudo rosdep init' and 'rosdep update'

asked 2014-10-14 13:05:19 -0600

Dave Coleman gravatar image

I get this message when I SSH into Baxter, but I do not have sudo access so cannot fix this error message. Is there a way to remove this warning or run rosdep init without sudo? I tried and it says:

ERROR: cannot create /etc/ros/rosdep/sources.list.d:
    [Errno 13] Permission denied: '/etc/ros'
Perhaps you need to run 'sudo rosdep init' instead


edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2014-10-15 13:04:34 -0600

William gravatar image

A sudo-less option for rosdep has been talked about for while now, but nothing has ever gotten rolled out.

This pull request addresses this by allowing you to set a ROSDEP_PREFIX which can be in your home folder or whatever:

But there are substantial changes to the behavior of rosdep in that pull request and without more people pushing on testing it out and getting all the docs and tutorials updated, it won't make it into master.

We have addressed it in xylem, but that doesn't help you right now.

Currently there is no way to use rosdep without sudo that I know of, but you could manually modify rosdep's source code to install and look for those files in a different place, to which you can write. This isn't very sustainable because you would need to do this every time a new rosdep comes out, but it would work for now.

edit flag offensive delete link more


Thanks for the details. As I just commented on that Github Issue, I think a sudo-less option is important, but I cannot get into working on that feature myself.

Dave Coleman gravatar image Dave Coleman  ( 2014-10-15 15:10:32 -0600 )edit

answered 2014-10-15 07:03:53 -0600

gvdhoorn gravatar image

updated 2014-10-15 07:53:51 -0600

Would using ROSDISTRO_INDEX_URL perhaps be an option?

I cannot really find any 'official' documentation for it, but from what I've understood (from this answer from @William on the buildbot-ros-sig, and from @tfoote in Bloom - "Could not resolve rosdep key 'message_runtime'" on ROS Answers) you should be able to just create a copy of the rosdistro files that normally go into /etc/ros anywhere your user does have write permission, and then update ROSDISTRO_INDEX_URL to point to that location.

I have no idea whether that environment variable is used throughout all bits that deal with dependency resolution, but it might be worth a shot.

Edit: the xylem design doc also mentions ROSDISTRO_INDEX_URL:


  • Do the API calls respect the XYLEM_PREFIX environment variable or need explicit setting of a prefix parameter? I think the latter.
    • Dirk: For rosdistro we actually do the first approach - the environment variable ROSDISTRO_INDEX_URL is also used for API calls (if not overridden by passing a custom index url). I think that approach has the advantage that any tool using rosdistro will use the custom url when it is defined in the environment.


edit flag offensive delete link more

Question Tools

1 follower


Asked: 2014-10-14 13:05:19 -0600

Seen: 4,928 times

Last updated: Oct 15 '14