Difference between revisions of "Homebrew Mavericks"

From Wiki for iCub and Friends
Jump to: navigation, search
(Installing iCub)
Line 1: Line 1:
 +
'''The YARP section of the page is outdated. Up to date instructions for installing YARP on OS X can be found at''' http://wiki.icub.org/yarpdoc/install_yarp_mac.html
 +
 
This installation has been confirmed to work on OSX Mavericks and Yosemite with Homebrew.
 
This installation has been confirmed to work on OSX Mavericks and Yosemite with Homebrew.
 
Latest update and testing: 21/10/2014 - using OS X 10.10 with or without Xcode 6.1
 
Latest update and testing: 21/10/2014 - using OS X 10.10 with or without Xcode 6.1

Revision as of 13:47, 20 July 2015

The YARP section of the page is outdated. Up to date instructions for installing YARP on OS X can be found at http://wiki.icub.org/yarpdoc/install_yarp_mac.html

This installation has been confirmed to work on OSX Mavericks and Yosemite with Homebrew. Latest update and testing: 21/10/2014 - using OS X 10.10 with or without Xcode 6.1

Installing Xcode

To compile anything on OS X (including YARP), you'll need to have Xcode (http://developer.apple.com/xcode/) installed. This can be done through the App Store. Once installed, you need to install Command Line Tools.

To do this, open XCode, go to XCode->Preferences->Downloads and install Command Line Tools.

If you do not see the option install Command Line Tools, run the following on a terminal

 xcode-select --install

Once this is done, you can now continue with the installation steps

Installing X11

In OS X 10.8 Mountain Lion and later, X11 is not provided anymore. You need to install XQuartz, from http://xquartz.macosforge.org/landing/. In earlier version of OS X, this is not stricly necessary, but recommended as XQuartz is more robust and updated that the system-provided X11.

Installing Homebrew

Installing homebrew with the following commands or visit the following site official installation steps

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

After the installation, you can run the following command to check if your setup is good :

  brew doctor

If you had Homebrew already installed on your system, update and upgrade :

  brew update
  brew upgrade

Before proceeding with the installation we recommend installing wget using curl (can also be done in Homebrew with the following command: brew install wget)

 cd ~/Downloads
 curl -O http://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz
 tar -zxvf wget-1.15.tar.gz
 cd wget-1.15/
 ./configure

if you get a error configuring: error: --with-ssl was given, but GNUTLS is not available, use the following command.

 ./configure --with-ssl=openssl
 make
 sudo make install

Installing Yarp

Here we provide information for installing the YARP dependencies via Homebrew and getting and compiling YARP from the repository. Install YARP dependencies

 brew install `brew deps --1 yarp | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g'`

and the following for yarpbuilder

 brew install goocanvas

you can now follow this link and download Qt 5.3.2 Open Source. http://download.qt-project.org/official_releases/online_installers/qt-opensource-mac-x64-1.6.0-5-online.dmg or just follow this link and download it yourself http://qt-project.org/downloads Install the dmg package by default in your home and add its environmental variable:

cd ~
open -a TextEdit .bash_profile

If the following command result in an error: The file .... does not exist, do the following first:

cd ~
touch .bash_profile

now and copy the following lines:

export Qt5_DIR=/Users/your_user_name/Qt/5.3/clang_64

Now you would need to configure pkg-config Add this to the .bash_profile in order to correctly do this:

 cd ~
 open -a TextEdit .bash_profile

and copy the following line:

 export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig/:$PKG_CONFIG_PATH

Programs that require this GDK PIXBUF need to set the environment variable correctly. Just to be on the safe side add this to the .bash_profile

 export GDK_PIXBUF_MODULEDIR="/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders"

To refresh and load these environment settings type:

source ~/.bash_profile 

In the directory where you would like to store your code, e.g. /Users/your_user_name/Dev/ run the following to clone YARP on your system

 git clone https://github.com/robotology/yarp.git

Compile YARP :

 cd yarp
 mkdir build
 cd build
 ccmake ..

configure it correctly by enabling the following flags:

 CREATE_GUIS
 CREATE_LIB_MATH  

configure & generate then

 make 

In order to generate and Xcode project do the following

 cd yarp
 mkdir build
 cd build
 ccmake .. -G Xcode

This will generate a YARP.xcodeproj file which can be opened with Xcode.

Build it by clicking Product -> Build or cmd+B shortcut

Then create the Release binaries by clicking Product -> Archive

Now you need to set the environmental variables:

 cd ~
 open -a TextEdit .bash_profile

and copy the following lines:

 export code=/Users/your_user_name/Dev
 export YARP_ROOT=/Users/your_user_name/Dev/yarp
 export YARP_DIR=/Users/your_user_name/Dev/yarp/build
 export PATH=$YARP_DIR/bin/Release:$PATH

Notice that if you used the terminal version without Xcode the last line becomes:

 export PATH=$YARP_DIR/bin:$PATH

Now setup YARP_DATA_DIRS by adding this to the .bash_profile

 export YARP_DATA_DIRS=/Users/your_user_name/Dev/yarp/build/share/yarp:/Users/your_user_name/Dev/icub-main/build/share/iCub

To refresh and load these environment settings type:

source ~/.bash_profile 

Now to quickly test the system run this in a terminal

 yarp

and you should get something like

 This is the YARP network companion.
 Call with the argument "help" to see a list of ways to use this program.

Installing Yarp Bindings

To correctly install the YARP bindings you will need swig

 brew install swig

Once YARP is correctly installed you can now proceed with the iCub installation

Installing iCub

Here we provide information for installing the iCub dependencies via Homebrew and getting and compiling iCub from the repository. Install YARP dependencies

 brew install sdl sdl_gfx sdl_image
 brew install ode --enable-double-precision --with-trimesh=gimpact
 brew install --with-qt3support qt

Now gcc is needed to correctly install gfortran. Of course there are other ways of installing gfortran but this is the easiest way to do it.

 brew install gcc

Download OPENCV @ http://opencv.org and set it properly, at the time of writing this documentation the latest version was opencv-2.4.9

 cd $code
 wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip
 unzip opencv-2.4.9.zip 
 cd opencv-2.4.9.zip 
 mkdir build
 cd build
 ccmake ..
 make 

Now you need to set the environmental variables:

 cd ~
 open -a TextEdit .bash_profile
 and copy the following lines:

export OpenCV_DIR=/Users/your_user_name/Dev/opencv-2.4.9/build

Download and setup IPOPT at the time of writing of this documentation the latest version tested was Ipopt-3.11.8

 cd $code
 wget http://www.coin-or.org/download/source/Ipopt/Ipopt-3.11.8.zip
 unzip Ipopt-3.11.8.zip

Create a build directory

cd $code
cd Ipopt-3.11.8
mkdir build

Now you need to set the environmental variables:

 cd ~
 open -a TextEdit .bash_profile

and copy the following lines:

 export IPOPT_DWN_DIR=/Users/your_user_name/Dev/Ipopt-3.11.8
 export IPOPT_DIR=/Users/your_user_name/Dev/Ipopt-3.11.8/build

To refresh and load these environment settings type:

source ~/.bash_profile 

open a new terminal and:

 cd $IPOPT_DWN_DIR/ThirdParty/Blas && ./get.Blas
 cd $IPOPT_DWN_DIR/ThirdParty/Lapack && ./get.Lapack
 cd $IPOPT_DWN_DIR/ThirdParty/MUMPS && ./get.Mumps
 cd $IPOPT_DWN_DIR/ThirdParty/Metis && ./get.Metis
 cd $IPOPT_DWN_DIR/ThirdParty/ASL && ./get.ASL
 cd $IPOPT_DIR && $IPOPT_DWN_DIR/configure --prefix=/usr/local
 cd $IPOPT_DIR  
 make 
 make test

if the tests have passed then

 sudo make install

In the directory where you would like to store your code, e.g. /Users/your_user_name/Dev/ run the following to clone YARP on your system

 git clone https://github.com/robotology/icub-main.git

Compile iCub :

 cd icub-main
 mkdir build
 cd build
 ccmake ..

Enable the following flags

 ENABLE_icubmod_cartesiancontrollerclient
 ENABLE_icubmod_cartesiancontrollerserver
 ENABLE_icubmod_gazecontrollerclient

configure it correctly and

 make 

In order to generate and Xcode project do the following

 cd icub-main
 mkdir build
 cd build
 ccmake .. -G Xcode

Enable the following flags

 ENABLE_icubmod_cartesiancontrollerclient
 ENABLE_icubmod_cartesiancontrollerserver
 ENABLE_icubmod_gazecontrollerclient

This will generate a ICUB.xcodeproj file which can be opened with Xcode.

Build it by clicking Product -> Build or cmd+B shortcut

Now you need to set the environmental variables:

 cd ~
 open -a TextEdit .bash_profile

and copy the following lines:

 export ICUB_ROOT=/Users/your_user_name/Dev/icub-main
 export ICUB_DIR=/Users/your_user_name/Dev/icub-main/build
 export PATH=$ICUB_DIR/bin/Debug:$PATH

Notice that if you used the terminal version without Xcode the last line becomes:

 export PATH=$ICUB_DIR/bin:$PATH

To refresh and load these environment settings type:

source ~/.bash_profile 

You should now be ready to run any code from the iCub repository.