coin-or/Ipopt

MUMPS error

matheusdiogenesandrade opened this issue · 2 comments

Overview:

I am trying to run Ipopt compiled with Mumps + ASL + HSL + Lapack, and when running the compiled version, I obtain the following error.

** Instance Error 1 in DMUMPS_F77

The performed steps were:

./configure --with-hsl-lflags="-L$HOME/ThirdParty/HSL/build -lcoinhsl" 
    --with-lapack-lflags="-L$HOME/ThirdParty/Lapack/build/lib -lcoinlapack" 
    --with-mumps-lflags="-L$HOME/ThirdParty/Mumps/build -lcoinmumps" 
    --with-mumps-cflags="-I$HOME/ThirdParty/Mumps/MUMPS/include -I$HOME/ThirdParty/Mumps" 
    --with-asl-lflags="-L$HOME/ASL -lcoinasl" 
    --with-asl-cflags="-I$HOME/ASL/solvers"

make

sudo make install

make test

Tech stack:

  • Ipopt 3.14.14
  • CoinHSL 2023.11.17
  • Mumps 5.6.2
  • Linux pop-os 6.2.6

Thanks and regards.

Issue related to #739.

Solved!

I was wrongly compiling it, now follows the right flags to do so:

../configure --with-hsl-lflags="-L$HOME/ThirdParty/HSL/build -lcoinhsl" 
    --with-lapack-lflags="-L$HOME/ThirdParty/Lapack/build/lib -lcoinlapack" 
    --with-asl-lflags="-L$HOME/ASL -lcoinasl" --with-asl-cflags="-I$HOME/ASL/solvers" 
    --with-spral-lflags="-L$HOME/Spral/lib -lasan -latomic -lgcc_s -lgfortran -lgomp -lhwasan -lhwloc -litm -llsan -lmetis -lobjc -lopenblas -lquadmath -lspral -lssp -ltsan -lubsan" 
    --with-spral-cflags="-I$HOME/Spral/include" 
    --with-intsize=64

Just removed the Mumps, and added the Spral and --with-intsize=64, although no idea it worked.

Thanks.

I cannot say why MUMPS reported an Instance Error 1. Haven't seen this before.

Building Ipopt for 64bit integer size requires that also dependencies support this. See https://coin-or.github.io/Ipopt/INSTALL.html#INT64_BUILD

In general, building Ipopt against not-yet-installed versions of dependencies is not supported. It should be easier if you build and install one project after another. configure should then also detect automatically what is available (except for lapack from ThirdParty-Lapack, as this is deprecated) and which flags are needed, in particular if you install everything under the same prefix. coinbrew automates this. Ipopt installation instructions are in the docu: https://coin-or.github.io/Ipopt/INSTALL.html