Difference between revisions of "Homebrew Mavericks"

From Wiki for iCub and Friends
Jump to: navigation, search
Line 17: Line 17:
 
= Installing X11 =
 
= 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/ http://xquartz.macosforge.org/landing/].
+
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/ 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.
 
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 =
  
Before proceeding with the installation we recommend installing '''wget''' using curl (can also be done in Homebrew)
+
Installing homebrew with the following commands or visit the following site  [https://github.com/mxcl/homebrew/wiki/installation official installation steps]
 +
 
 +
  ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/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
 
   cd ~/Downloads
 
   curl -O http://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz
 
   curl -O http://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz
Line 32: Line 43:
 
   make
 
   make
 
   sudo make install
 
   sudo make install
 
Installing homebrew ([http://mxcl.github.com/homebrew/ http://mxcl.github.com/homebrew/]) is very simple, just follow the [https://github.com/mxcl/homebrew/wiki/installation official installation steps].
 
 
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
 
 
 
= Installing Yarp =
 
= Installing Yarp =
  
Line 56: Line 57:
 
   export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig/:$PKG_CONFIG_PATH
 
   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
+
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"
 
   export GDK_PIXBUF_MODULEDIR="/usr/local/lib/gdk-pixbuf-2.0/2.10.0/loaders"
  
Line 79: Line 80:
 
Then create the Release binaries by clicking Product -> Archive
 
Then create the Release binaries by clicking Product -> Archive
  
Now you need to set the environmental variables:
+
Now you need to set the '''environmental variables''':
 
   cd ~
 
   cd ~
 
   open -a TextEdit .bash_profile
 
   open -a TextEdit .bash_profile
Line 103: Line 104:
 
   brew install swig
 
   brew install swig
  
Once YARP is correctly installed you can now proceed with the '''iCub''' installation
+
Once '''YARP''' is correctly installed you can now proceed with the '''iCub''' installation
 
= Installing iCub =
 
= Installing iCub =
 
Here we provide information for installing the '''iCub''' dependencies via '''Homebrew''' and getting and compiling '''iCub''' from the repository.  
 
Here we provide information for installing the '''iCub''' dependencies via '''Homebrew''' and getting and compiling '''iCub''' from the repository.  
Line 122: Line 123:
 
   ccmake ..
 
   ccmake ..
 
   make  
 
   make  
Now you need to set the environmental variables:
+
Now you need to set the '''environmental variables''':
 
   cd ~
 
   cd ~
 
   open -a TextEdit .bash_profile
 
   open -a TextEdit .bash_profile
Line 132: Line 133:
 
   wget http://www.coin-or.org/download/source/Ipopt/Ipopt-3.11.8.zip
 
   wget http://www.coin-or.org/download/source/Ipopt/Ipopt-3.11.8.zip
 
   unzip Ipopt-3.11.8.zip
 
   unzip Ipopt-3.11.8.zip
Now you need to set the environmental variables:
+
Now you need to set the '''environmental variables''':
 
   cd ~
 
   cd ~
 
   open -a TextEdit .bash_profile
 
   open -a TextEdit .bash_profile

Revision as of 15:59, 18 July 2014

This installation has been confirmed to work on OSX Mavericks with Homebrew. Latest update and testing: 18/07/2014 - using OS X 10.9.4 with or without Xcode 5.1.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.github.com/Homebrew/homebrew/go/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

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"

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 and

 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

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
 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

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/vtikha/your_user_name/Ipopt-3.11.8/build

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
 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

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