This website uses browsing/session and functional cookies to ensure you get the best experience. Learn More
Linux:Installation from sources
Getting all dependencies
Add www.icub.org to your sources.list. Determine the Linux distribution you use.
E.g. for Ubuntu 16.04 Xenial (Note: you need to adapt these instructions according to your distribution).
sudo sh -c 'echo "deb http://www.icub.org/ubuntu xenial contrib/science" > /etc/apt/sources.list.d/icub.list' sudo apt-get update
NOTE : if apt complains about missing public key, please import the repository public key (this must be done only once) as follows
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 57A5ACB6110576A6
Install only the package icub-common:
sudo apt-get install icub-common
If you want to install all packages yourself, this is the list of packages you have to install (Linux: dependencies).
Setting up revision control systems
To download sources from our repositories you need to set up a revision control system client. The git client was already installed with the icub-common package.
To get sources you don't need to understand git in detail (just follow our instructions). However you can follow this link if you are willing to learn more Learning more about git.
Follow instructions here: http://www.yarp.it/install_yarp_linux.html, follow the section Install from sources -- Compiling YARP (you an skip installation of packages).
Important, for use with the iCub robot when compiling YARP make sure you select the following CMake options:
CREATE_OPTIONAL_CARRIERS, set to ON ENABLE_yarpcar_bayer, set to ON
Download iCub source code
In the rest of the tutorial, it will be assume that you will downloaded the code in the /home/user.
To download the icub-main source code, just use git:
cd /home/user git clone https://github.com/robotology/icub-main.git
This command will create the /home/user/icub-main directory, containing the icub-main source code.
Create iCub makefiles
Pick a build directory to store makefiles and binaries, e.g. /home/user/icub-main/build
Run CMake to generate makefiles:
cd /home/user/icub-main mkdir build cd build ccmake ../
Hit 'c' to configure the project.
CMAKE_BUILD_TYPE to "Release" ENABLE_icubmod_cartesiancontrollerclient ON ENABLE_icubmod_cartesiancontrollerserver ON ENABLE_icubmod_gazecontrollerclient ON
Leave all other options to default (unless you know what you are doing).
Note 1: You can optionally change CMAKE_INSTALL_PREFIX, this is the directory where you would like to install iCub (default is /usr/local). If you set it to a different prefix than YARP's, you will then need to set up the environment accordingly (see Configure your environment below).
cd /home/user/icub-main/build make sudo make install
Setup ICUBcontrib (optional)
First you need to download the sources.
cd /home/user/ git clone https://github.com/robotology/icub-contrib-common.git
First set up the ICUBcontrib meta-package, which allows to properly configure your modules/libraries so that they share the same installation prefix.
cd /home/user/icub-contrib-common/ mkdir build && cd build ccmake ../
At this stage you must change CMAKE_INSTALL_PREFIX entry here to the path of your liking, preferably in your home; hit 'g' to generate the project. If you do not change the CMAKE_INSTALL_PREFIX you will need to constantly use sudo for any subsequent action, eg: run module with administrative rights.
Once you have installed the ICUBcontrib package you can compile the other modules individually.
Configure your environment
If you installed YARP and/or iCub or ICUBcontrib to non-default directories, you need to set your environment.
- Set the ICUBcontrib_DIR env var to point to the installation directory.
- Append $ICUBcontrib_DIR/bin to your PATH.
- Set the CMAKE_PREFIX_PATH env var to point to the installation directory $ICUBcontrib_DIR.
- Modify the variable YARP_DATA_DIRS accordingly, i.e.:
Check your installation
Now you are ready to check your installation.