Difference between revisions of "Linux:Installation from sources"

From Wiki for iCub and Friends
Jump to: navigation, search
(Replaced content with "This page has been migrated to https://icub-tech-iit.github.io/documentation/sw_installation/linux_from_sources_manual/ .")
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. Below, replace ubuntu with debian, depending on your system.
sudo sh -c 'echo "deb http://www.icub.org/ubuntu `lsb_release -cs` contrib/science" > /etc/apt/sources.list.d/icub.list'
sudo apt 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 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 YCM (optional) =
Although YCM is already contained in icub-common, you might want to get the latest release. To do so, clone and build the tag associated with the distro at hand as specified in [[Software Versioning Table]].
  git clone https://github.com/robotology/ycm.git -b vxx.yy.zz
  cd ycm && mkdir -p build && cd build
  ccmake ../
  sudo make install
= Compile YARP =
Follow instructions here: http://www.yarp.it/install_yarp_linux.html, follow the section '''Install from sources -- Compiling YARP''' (skip installation of packages).
Importantly, for use with the iCub robot when compiling YARP make sure that:
* you check out the correct tag of YARP according to the [[Software Versioning Table]].
* you select the following CMake options:
  ENABLE_yarpcar_bayer, set to ON
= Compile iCub =
== Download iCub source code ==
In the rest of the tutorial, it will be assumed 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.
== Checkout the correct tag ==
Pick up the correct tag vxx.yy.zz from [[Software Versioning Table]] that is compatible with the compiled version of YARP and do:
  cd icub-main
  git checkout vxx.yy.zz
== 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_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
  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
Second, make sure you have the correct release according to [[Software Versioning Table]].
  cd /home/user/icub-contrib-common/
  git checkout <tag>
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.
  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.:
= Check your installation =
Now you are ready to [[check your installation]].

Latest revision as of 20:12, 18 January 2021

This page has been migrated to https://icub-tech-iit.github.io/documentation/sw_installation/linux_from_sources_manual/ .