====== Installing IPOPT from binaries for Linux ====== This optimization tool has to be installed in order to be able to use the Inverse Kinematic library for the iCub. Make sure that the following package is installed: sudo apt-get install gfortran You can visit the IPOPT web page:[[https://projects.coin-or.org/Ipopt]], download the source code archive (iCub support releases from 3.5.4 onward) or get the latest version from the repository: mkdir -p ~/local/src cd ~/local/src # Latest stable version during creation of this manual was 3.10, update if necessary svn co https://projects.coin-or.org/svn/Ipopt/stable/3.10 CoinIpopt Now enter the IPOPT directory and get the third party sources: cd CoinIpopt/ThirdParty/Blas ./get.Blas cd ../Lapack ./get.Lapack Now you need to download the HSL routines. Go to http://hsl.rl.ac.uk/archive/hslarchive.html. Find MA27. Fill in the register form and wait for the email with the download link. Save the archive, extract it and then copy file ma27d.f as ma27ad.f into ~/local/src/CoinIpopt/ThirdParty/HSL/. mkdir -p ~/local/src/downloads tar -C ~/local/src/downloads/ -xvf ~/Downloads/ma27-1.0.0.tar.gz cp ~/local/src/downloads/ma27-1.0.0/src/ma27d.f ~/local/src/CoinIpopt/ThirdParty/HSL/ma27ad.f Find MC19. Fill in the register form and wait for the email with the download link. Save the archive, extract it and then copy file mc19d.f as mc19ad.f into ~/local/src/CoinIpopt/ThirdParty/HSL/. tar -C ~/local/src/downloads/ -xvf ~/Downloads/mc19-1.0.0.tar.gz cp ~/local/src/downloads/mc19-1.0.0/src/mc19d.f ~/local/src/CoinIpopt/ThirdParty/HSL/mc19ad.f Now go to the root of the IPOPT folder cd ~/local/src/CoinIpopt and run: mkdir build && cd build ../configure --with-blas=BUILD --with-lapack=BUILD --with-hsl=BUILD --prefix=/usr/local make make test sudo make install Set the environment variable IPOPT_DIR pointing to the local directory where you have installed the libraries (you need to change the directory if you performed a local installation). cd gedit .bashrc export IPOPT_DIR=/usr/local **Hint:** to check whether IPOPT is working along with iKin framework, compile and execute the examples located under the iKin tutorials directory found in the iCub repository: if the IPOPT banner is displayed when the examples are launched then IPOPT is correctly configured.