Linux:Installation from sources old
Getting all dependencies
Most of the dependencies are already available in the Linux distributions, in some cases (e.g. ipopt or ode in some distributions) we provide our own packages. Follow the step on this page to configure the sources.list.
Install only the package icub-common:
sudo apt-get install icub-common
sudo apt-get install cmake cmake-curses-gui
the second package installs the curses based interface (ccmake).
If you want to install all packages yourself, this is the list of packages you have to install (Linux: dependencies).
sudo apt-get install git
If you are not familiar with git we suggest at least you learn the basics. The official and comprehensive man pages that are included in the Git package itself. You can access to then with
git --help git <command> --help
A very comprehensive source of documentation is this:
More tutorials can be found here:
If you are a subversion user, you might find useful this crash course for svn users. Please note that git and svn workflows are slightly different, this is only supposed to be used as reference.
sudo apt-get install subversion
If you are not familiar with svn we suggest at least you learn the basics. Some instructions are available from the sourceforge website:
A lot of more details (including a quick introduction) can be found instead here:
Important: if you are a developer and are planning to commit to the repository don't forget to configure svn. Follow this link: Subversion_client_flags.
Getting the YARP and iCub sources
Get the YARP sources. Pick a directory where you would like to install the sources, e.g. /home/user
cd /home/user svn co https://github.com/robotology/yarp/trunk yarp
or (preferred) you can use GIT, cloning the repository from one of these addresses:
- (git read-only) git://github.com/robotology/yarp.git
- (ssh read+write) email@example.com:robotology/yarp.git
- (https read+write) https://github.com/robotology/yarp.git
cd /home/user sudo apt-get install cmake libace-dev git git clone git://github.com/robotology/yarp.git
This will create a directory called yarp with all the sources.
- Set the YARP_ROOT environment variable in your .bashrc to point to /home/user/yarp.
Get the iCub sources
You can download the whole repository from svn. In the same directory /home/user (or elsewhere):
This will create a directory iCub with all the sources.
Notice that this may take some time. Alternatively you can download individual modules (i.e. main and contrib or firmware)
cd /home/user mkdir iCub
svn co https://svn.code.sf.net/p/robotcub/code/trunk/ iCub/main svn co https://svn.code.sf.net/p/robotcub/code/trunk/ iCub/contrib
This will create only the directories iCub/main and iCub/contrib with all the sources.
Create YARP makefiles
Pick up a build directory. E.g. $YARP_ROOT/build and run CMake.
mkdir $YARP_ROOT/build cd $YARP_ROOT/build ccmake $YARP_ROOT
(ccmake is an interactive version of cmake)
Hit 'c' to configure. Choose the following options:
CMAKE_BUILD_TYPE to "Release" CREATE_GUIS, set to ON CREATE_LIB_MATH, set to ON
CREATE_OPTIONAL_CARRIERS, set to ON ENABLE_yarpcar_bayer_carrier, set to ON
(leave default values as they are unless you know better)
Makefiles generation is an iterative process, hit "c" until the option "Generate" becomes available. Then hit "g" and quit.
Note 1: You can optionally change CMAKE_INSTALL_PREFIX, this is the directory where you would like to install YARP (default is /usr/local).
Note 2: CREATE_GUIS and CREATE_LIB_MATH require you have installed the libraries gtk and gsl (you have, if you have followed the instructions above).
Note 3: Do not select other options unless you know what you are doing.
Note 4: Depending on the hardware on your system you might want to compile additional device drivers. This is done for example on the pc104. Instruction for doing this are reported elsewhere.
If you have completed the previous step you have makefiles ready in your build directory.
cd $YARP_ROOT/build make
sudo make install
In the following we will call ICUB_REPOSITORY the top directory of the repository (i.e. the iCub containing the files AUTHORS, README and ChangeLog).
Pick application directory
The first step in the compilation process is to decide where you want to store applications (scripts and configuration files).
- Select a directory that will store applications. A common option is to use the root of the repository, i.e. the directory ICUB_REPOSITORY. Set the ICUB_ROOT environment variable to point to this directory, for example if you downloaded the repository in /home/user:
It is a good idea to append the previous line to your ~/.bashrc.
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 ENABLE_icubmod_debug_InterfaceClient 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).
cd $ICUB_DIR make sudo make install
Check your installation
Now you are ready to check your installation.