IPOPT installation

IPopt compilation instructions

Short version for compiling IPopt and installing the matlab interface.

Mainly based on the official instructions (which actually are quite confusing)
http://www.coin-or.org/Ipopt/documentation/documentation.html

1. checkout the ipopt sources from the website wherever you feel (say $IPOPTDIR)
svn co https://projects.coin-or.org/svn/Ipopt/stable/3.11 CoinIpopt

2. Get the linear solver and tools needed for compilation
$ cd $IPOPTDIR/ThirdParty/Blas
$ ./get.Blas
$ cd ../Lapack
$ ./get.Lapack
$ cd ../ASL
$ ./get.ASL
$ cd ../Mumps
$ ./get.Mumps
$ cd ../Metis
$ ./get.Metis

and HSL software by registering on the official website (takes one day for the acceptaion) or take the folder coinhsl in the Dropbox/LA Share/coinhsl and copy its content in $IPOPTDIR/ThirdParty/HSL/coinhsl

A gfortran compiler is also needed, Instructions can be found at the website:
https://sites.google.com/site/dwhipp/tutorials/mac_compilers

3. Create a '$IPOTDIR/build' directory to build the thing

4. Create the directory '$IPOTDIR/build/share' and copy '$IPOPTDIR/Ipopt/contrib/MatlabInterface/src/MatlabInterface.site' into it. Rename the file 'config.site'

5. From '$IPOPTDIR/build', call the file '$IPOPTDIR/configure'. Check the error messages

6. From '$IPOPTDIR/build', $ make

7. $ make test      from the same folder. It does not matter if it gives errors.

8. $ make install
Check error messages

9. Move to '$IPOPTDIR/build/Ipopt/contrib/MatlabInterface/src'

10. Change the MakeFile there do that you have:
MATLAB_HOME = /Applications/MATLAB_R2012b.app
MEXSUFFIX   = mexmaci64

where needed

11. from the same folder type
$ make mexopts
It should create a custom mexopts.sh file. Verify that it is not empty

12. $make install         from the same folder

13. This should create ipopt.mexmaci64 to add in the path of Matlab

14. Examples in '$IPOPTDIR/build/Ipopt/contrib/matlabInterface/examples' can be tested in matlab