scipopt/scip

question: how not to use nlpi_ipopt which depend on proprietray libhsl.so?

dzmitry-lahoda opened this issue · 3 comments

I run solver and get:


 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl. 
  0.0s|     1 |     0 |   122 |     - |  3661k |   0 | 290 | 215 | 185 |   0 |  0 |   0 |   0 |-1.975381e+03 |      --      |    Inf | unknown
[/build/c4jcdrx22yknk9r6af8p6l70zf8p9vja-source/src/scip/nlpi_ipopt.cpp:465] ERROR: Exception of type: DYNAMIC_LIBRARY_FAILURE in file "Common/IpLibraryLoader.cpp" at line 67:
 Exception message: libhsl.so: cannot open shared object file: No such file or directory
[nlpi_ipopt.cpp:1626] ERROR: Ipopt returned with application return status -12
[nlpi.c:605] ERROR: Error <0> in function call

I am on nixos, it is hard to use proprietary sotware. How to make sure I do not use that lib(what is that lib? solver? presolver? some heuristic?)

all NLP solvers are proprietary, and question seems to IPOPS.

This exception typically comes up if one has build Ipopt without any linear solver. It then tries to load those from HSL from a shared library at runtime. Next to those from HSL, you can build Ipopt with other linear solvers (https://coin-or.github.io/Ipopt/index.html#PREREQUISITES).

Was able to compile IPOPT with MUMPS.

So if MUMPS configured/built with 64 bit integer support fails to compile with IPOPT.