Let's say you want to install the first stack you mentioned: cob_environments
. Assuming you are on an officially supported version of Ubuntu and your repositories are setup correctly, you could first check if there are pre-built binaries available. For the cob_environments
package, I could run
apt-cache search ros.*cob
in a terminal. On my system, I can see that there is a package called ros-fuerte-cob-environments
. I could install this using apt-get
, and the stack (plus all of its dependencies would be installed). For many users, if prebuilt binaries are available, this is the way to go.
In general when a stack or package is not available through your package manager you need to do the following things:
- Get a local copy of the source code, and make sure it is in your
ROS_PACKAGE_PATH
- Check that you have all of the dependencies for that stack/package installed
- Install any missing dependencies. Tools like
apt-get
and rosdep
are very useful for this! - Compile the code
For the cob-environments
stack, the only dependency that you likely don't have (assuming you have a "full-desktop" install of ROS) is cob_common
This can be seen by looking at the dependencies link on the right side of this page. I'm going to walk you through installing cob_environments
.
To get a copy of the source code, we will use git
. So first navigate to a directory that is on your ROS_PACKAGE_PATH
, then run this command (you will need git installed)
git clone https://github.com/ipa320/cob_environments
We are going to use rosmake
to try and build this package.
rosmake cob_environments
If you don't have cob_common
, this will error out, and you will need to clone cob_common
and build that before you can build cob_environments
.
git clone https://github.com/ipa320/cob_common
rosmake cob_common
You should now be able to re-run rosmake cob_environments
. If the process completes successfully, you should now have the stack successfully installed!
Note the process with SVN or CVS or Mercurial would be basically the same, but the actual commands for obtaining a copy of the repository would be slightly different.