Getting the iCub software

From Wiki for iCub and Friends
Revision as of 12:13, 30 April 2012 by Lorenzo (talk | contribs)
Jump to: navigation, search

This page is no longer relevant. Instructions for getting the software are available here: ICub_Software_Installation

The subversion repository contains the latest version of the code. From time to time we release a snapshot of the whole repository in a single tar file.

Getting the software from the snapshots

Periodic snapshots of the repository are available here:

There are three types of files:

  • iCub-src-x.y.z.tar.gz: the whole iCub repository version x.y.z
  • iCub-dep-x.y.z.txt: a list of the libraries that are required to compile the code in snapshot x.y.z (including yarp version number).

Getting the software using Subversion

These are instructions to get the RobotCub software repository using svn.

Important since August 5th 2009, repositories have been moved to SourceForge (

These instructions explain how to download the software using svn. We assume you already know what svn is and how to use it.

  Important note for CVS users. To get the software you no longer need to have a 
  user; however you do need one to commit changes to the repository. If you think 
  you need a user follow instructions in Section 6 of the manual ("Prepare your system, 
  get svn").

Getting the repository for Linux

You need an svn client. svn is normally distributed with Linux, use your package manager to install it (Debian/Ubuntu apt-get install subversion).

Pick the location where you would like to download the code.

At the console type:

  svn co

this will create in the local directory a new directory called iCub that contains the trunk version of the iCub software.

Getting the repository for Windows

You need an svn client. Among the many alternatives we suggest you get tortoise SVN. Binaries for windows are available here:

Use file manager to browse to the location where you would like to download the code. Right click on an empty region of the window and select "SVN checkout" from the contextual menu.

Type the following string in the entry "URL of repository":

No password or username will be required.

For developers: working with branches

Getting a branch (Linux and Windows)

Alternatively, you can retrieve a specific branch of the iCub software. If this is the case, simply substitute the trunk path ( with the branch path ( Available branches can be browsed at For example you can select the following:

  svn co

Comparing URL branches and trunk

Comparing different URL versions of the repository (Linux)

If you want to compare two different versions of the svn repository you can run the following command (svn.server.path=

  svn diff svn.server.path/trunk/iCub svn.server.path/branches/iCub.2.0 --summarize

which will output single file differences with the usual svn syntax (A Added,D Deleted, U Updated). Notice that the "--summarize" option avoids the line-by-line comparison.

Comparing different URL versions of the repository (tortoiseSVN Windows)

The "Changed Files" window

A (network) comparison between repositories (typically trunk and branches) can be performed also with TortoiseSVN by the following procedure:

  • Open a "windows explorer".
  • Right-click on the window (you do not need any SVN repository since the comparison will be done on the URL repositories and not on local files).
  • Click on TortoiseSVN -> Repo-browser (you need to have TortoiseSVN installed).
  • Specify the URL which contains the trunk and the branches, e.g. This will open a repository browser which can be used to browse both branches and trunk. This command might take some time, since it goes trough the network.
  • Right-click on the first repository that you want to compare and select "Mark for comparison". For example, you can select the iCubPlatform trunk which is located in trunk/iCubPlatform of the repository.
  • Right-click on the second repository (to be compared with the repository selected above) and select "compare URLs". For example, you can select the iCubPlatform1.1 branch which is located in branches/iCubPlatform1.1 of the repository.
  • A window "Changed Files" will be opened containing a summary of the differences between the two URL repositories (Added, Deleted and Modified files). The result might require some time because it requires a comparison between network repositories. Double clicking on a "Modified" file will invoke a file-diff-tool which is practically useless with non-text files.