https://coin-or.github.io/Ipopt/INSTALL.html
- ASL is required to use Ipopt from Pyomo
- I likely already had BLAS/LAPACK installed from other projects, I don't know if my libraries are optimised.
# Install dependencies
sudo apt-get install gcc g++ gfortran git patch wget pkg-config liblapack-dev libmetis-dev
# Install ASL
git clone https://github.com/coin-or-tools/ThirdParty-ASL.git
cd ThirdParty-ASL
./get.ASL
./configure
make
sudo make install
# Install MUMPS
git clone https://github.com/coin-or-tools/ThirdParty-Mumps.git
cd ThirdParty-Mumps
./get.Mumps
./configure
make
sudo make install
Download Ipopt source from here: https://github.com/coin-or/Ipopt/releases eg. Source code (tar.gz)
# Install Ipopt
gunzip Ipopt-x.y.z.tgz
tar xvf Ipopt-x.y.z.tar
mv Ipopt-x.y.z Ipopt
cd Ipopt
export IPOPTDIR=/path/to/currentdir
mkdir $IPOPTDIR/build
cd $IPOPTDIR/build
$IPOPTDIR/configure
make
make test
sudo make install
You may need to run sudo ldconfig
after these steps - it's not specified anywhere, until I found this my solver failed with the following error message:
ERROR: Solver (ipopt) returned non-zero return code (127)
ERROR: Solver log: /usr/local/bin/ipopt: error while loading shared libraries:
libipoptamplinterface.so.3: cannot open shared object file: No such file or
directory
You can check the exit codes for any steps after running them by using echo $?
. 0
means success, anything else is an error.
https://www.coin-or.org/Bonmin/Intro.html
https://www.scipopt.org/