Difference between revisions of "MacOS: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/macos_from_sources_superbuild/ .")
 
Line 1: Line 1:
The page contains instructions for compiling YARP and the iCub software.
This page has been migrated to https://icub-tech-iit.github.io/documentation/sw_installation/macos_from_sources_superbuild/ .
 
= Getting all dependencies =
 
To install the system dependencies, it is possible to use [http://brew.sh/ Homebrew].
If you have Homebrew installed in your machine, you can install the required dependencies with the following command:
 
  brew install ace cmake eigen gsl ipopt jpeg libedit opencv pkg-config qt5 sqlite swig tinyxml
 
= Setting up revision control systems =
 
To download sources from our repositories you need to set up a revision control system client.
If you already installed Xcode, the git command should be installed on your machne.
 
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  =
 
[https://github.com/robotology/ycm YCM] is a library of CMake modules, that is a dependency of YARP and icub-main libraries.
To use this library, 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_mac.html#install_mac_from_source.
 
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:
 
  CREATE_OPTIONAL_CARRIERS, set to ON
  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
  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
 
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.
 
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 20:12, 18 January 2021