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

How can I do rosdep init without the internet?

asked 2014-08-11 15:01:01 -0600

clarkeaa gravatar image

Hello,

I am working in a lab which does not allow direct internet access. Basically the way that we download packages and such is to ssh into another computer with internet access that can get these files. So installing anything over the internet is still possible.

However, there is a problem with two things: 1. running "rosdep init" and 2. setting up ROS keys.

Both of these seem to want to directly access GitHub in order to complete their task. I have directly obtained the sources.list file that rosdep init uses and it is now on the computer. However, rosdep init still wants to access GitHub even though the sources.list file is now on the computer and can be accessed without the internet. What can I do to circumvent this problem?

Eventually I think I will run into the same sort of issue with setting up the ROS keys, but for now I just want to solve the rosdep init problem.

I found this other question that I think is related, but it seems that the problem was not solved: http://answers.ros.org/question/13291...

Thank you,

-Adrian

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2014-08-11 15:15:47 -0600

tfoote gravatar image

If you have manually copied the files into /etc/ros/rosdep you do not need to run rosdep init anymore.

However without internet the next steps will be a problem. rosdep update is going to pull the rules files from github as well. You will need to copy those files locally, and then modify the sources you have already copied to point to the local files instead of the github urls.

And once rosdep is working, you will not be able to use it as it will try to install missing dependencies via the internet.

if you have ssh access to machines with internet, I highly recommend looking at setting up a web proxy on the machines with external access. Then you can setup a local transparent proxy to forward all web traffic to the proxy.

edit flag offensive delete link more
1

answered 2014-08-12 01:19:49 -0600

ahendrix gravatar image

updated 2014-08-12 01:22:21 -0600

I proposed a pull request to rosdep a while back to fix this, but it's been largely ignored by the community outside of OSRF: https://github.com/ros-infrastructure...

I poked the dozen or so open tickets against rosdep that I was attempting to solve, and none of the original reporters offered any kind of input, so I stopped working on it.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2014-08-11 15:01:01 -0600

Seen: 946 times

Last updated: Aug 12 '14