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

Difference between wstool and rosdep

asked 2017-07-21 11:44:01 -0500

pitosalas gravatar image

updated 2017-07-22 01:45:10 -0500

gvdhoorn gravatar image

This is probably a dumb question and searching the wiki and googling hasn't given me a clear idea. From doing the install procedure (multiple times) it appears to me that both wstool and rosdep install modules.

It seemed like wstool is used to make the initial catkin workspace, whereas rosdep analyzes that to install additional modules that are needed due to dependencies.

Any additional clarification or correction would be greatly appreciated!


Thanks, that is very informative!

So is it fair to say that wstool is installing essentially ROS source code, while rosdep then looks at the state of things and then locates libraries (not necessarily written for ROS) and installs those: on mac using brew?

A related question: When I install pos, one of the early steps is to make the ros_catkin_ws directory.

Does all the ROS specific code get installed there? And then if I write ROS code myself, my modules are also kept there? And if I created a new ros_catkin_ws2 it would be fully independent of the first one and possibly / likely contain duplicates of lots of ROS code?

Thanks!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2017-07-21 14:09:27 -0500

gvdhoorn gravatar image

In a nutshell:

  • wstool: from the wiki page:

    Command-line tools for maintaining a workspace of projects from multiple version-control systems

    so it manages source checkouts (ie: clones in git parlor) in a workspace.

  • rosdep: from the wiki page:

    rosdep is a command-line tool for installing system dependencies

    where system dependencies typically means binary pkgs (ie: debs on Ubuntu/Debian)

It seemed like wstool is used to make the initial catkin workspace, whereas rosdep analyzes that to install additional modules that are needed due to dependencies.

wstool is used to get the sources of the packages that you wish to work on (or need to compile, if there are no binaries for your platform). rosdep is then used to make sure you have all the necessary dependencies installed on your system.

edit flag offensive delete link more

Comments

Thanks, that is very informative!

So is it fair to say that wstool is installing essentially ROS source code, while rosdep then looks at the state of things and then locates libraries (not necessarily written for ROS) and installs those: on mac using brew?

pitosalas gravatar image pitosalas  ( 2017-07-21 17:20:23 -0500 )edit
1

For your first question, yes. That's what they do.

For your second question, no. I usually create a separate ~/catkin_ws for my code. mkdir -p ~/catkin_ws/src && cd ~/catkin_ws && catkin_make is the usual approach.

allenh1 gravatar image allenh1  ( 2017-07-21 17:28:08 -0500 )edit

After that, you'll just source ~/catkin_ws/devel/setup.bash to use your packages/those that weren't downloaded by wstool.

allenh1 gravatar image allenh1  ( 2017-07-21 17:28:41 -0500 )edit

Thanks... By the way I didn't post another one on purpose, I thought I was posting a follow up question. But you're right, I could have edited the main question, and I will do that next time. By the way if I run out of characters in the comment, is it cool to add a second comment?

pitosalas gravatar image pitosalas  ( 2017-07-21 17:37:04 -0500 )edit

So, if I create a new catkin_ws (which is definitely cleaner) how will the all the ROS code that was built in the original pos_catkin_ws be found? Or are all the build code in a global area (e.g./usr/local/opt/python/libexec/bin etc.)

pitosalas gravatar image pitosalas  ( 2017-07-21 17:38:34 -0500 )edit

Catkin magic, is the best answer. Catkin will take the existing workspace, then include it in the one you create. So, your environment includes the main environment.

allenh1 gravatar image allenh1  ( 2017-07-21 18:43:53 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2017-07-21 11:44:01 -0500

Seen: 601 times

Last updated: Jul 22 '17