Difference between revisions of "Linux:Installation from sources"

From Wiki for iCub and Friends
Jump to navigation Jump to search
(Replaced content with "This page has been migrated to https://icub-tech-iit.github.io/documentation/sw_installation/linux_from_sources_manual/ .")
 
(21 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Image:linux-all.jpg|right|150px]] The page contains instructions for compiling YARP and the iCub software. We recommend you get the required dependencies from the binary packages.
This page has been migrated to https://icub-tech-iit.github.io/documentation/sw_installation/linux_from_sources_manual/ .
 
= Getting all dependencies =
 
Add www.icub.org to your sources.list. Determine the Linux distribution you use.
 
E.g. for Ubuntu 14.04 Trusty (Note: you need to adapt these instructions according to your distribution).
 
sudo sh -c 'echo "deb http://www.icub.org/ubuntu trusty contrib/science" > /etc/apt/sources.list.d/icub.list'
(replace trusty with the name of the distribution).
 
For Debian 7.0 Wheezy(Note: you need to adapt these instructions according to your distribution).
 
sudo sh -c 'echo "deb http://www.icub.org/debian wheezy contrib/science" > /etc/apt/sources.list.d/icub.list'
 
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]].
 
= Compile YARP =
 
Follow instructions here: http://wiki.icub.org/yarp/specs/dox/user/html/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_carrier, 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 <tt>/home/user</tt>.
 
To download the <tt>icub-main</tt> source code, just use git:
 
  cd /home/user
  git clone https://github.com/robotology/icub-main.git
 
This command will create the <tt>/home/user/icub-main</tt> directory, containing
the <tt>icub-main</tt> 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.
 
Select options:
 
  CMAKE_BUILD_TYPE to "Release"
  ENABLE_icubmod_cartesiancontrollerclient ON
  ENABLE_icubmod_cartesiancontrollerserver ON
  ENABLE_icubmod_debug_InterfaceClient    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).
 
== Compile iCub ==
 
  cd  /home/user/icub-main/build
  make
  sudo make install
 
= Setup ICUBcontrib (optional) =
 
First you need to download the sources. These are available only on subversion from sourceforge.
 
  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.
 
Finally,
 
  make install
 
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.:
 
  YARP_DATA_DIRS=<YARP_INSTALL_PREFIX>/share/yarp:<ICUB_INSTALL_PREFIX>/share/iCub:<ICUBCONTRIB_INSTALL_PREFIX>/share/ICUBcontrib
 
= Check your installation =
Now you are ready to [[check your installation]].

Latest revision as of 19:12, 18 January 2021