<div dir="ltr">Hello!<div><br></div><div><div>I tried out the homebrew formula for IPOPT, but I am struggling to get it to work with HSL.</div><div><br></div><div>Previously, when I built from sources, I have just put the HSL stuff in IPOPT source and had it built together with IPOPT. But I assume that if I use Homebrew to build IPOPT, I have to rely on the linear solver loader mechanism. Correct?</div>
<div><br></div><div>So I obtained and installed the "HSL for IPOPT" package from <a href="http://www.hsl.rl.ac.uk/ipopt/">http://www.hsl.rl.ac.uk/ipopt/</a>. I just used default options for "configure - make - make install".</div>
<div><br></div><div>I then brewed IPOPT (I had to use the --with-openblas option to get it to brew correctly). Out of the box, IPOPT was not able to find the compiled HSL library, but failed with the error:</div><div><br>
</div><div><div>"Tried to obtain MA57 from shared library "libhsl.dylib", but the following error occured:<br></div><div>dlopen(libhsl.dylib, 2): image not found"</div></div><div><br></div><div>Strangely, there appears to be a name mismatch between the library produced by "HSL for IPOPT" and IPOPT, where IPOPT expect libhsl.dylib but a libcoinhsl.dylib is produced. Is this a bug or do I use the wrong HSL library? If I manually add a symbolic link using "ln -s libcoinhsl.dylib libhsl.dylib", it does appear to work, but I still get the following (recoverable) error: "Failed to load 'libmetis.so' - using fallback AMD code".</div>
<div><br></div><div>I have a brewed metis ("brew install metis"), but the shared library is of course called libmetis.dylib and not libmetis.so on my Mac. I tried to make another symlink "ln -s libmetis.dylib libmetis.so", but it does not appear to help (or I do not understand the output):</div>
<div><br></div><div><div>This is Ipopt version 3.11.7, running with linear solver ma57.</div><div><br></div><div>Number of nonzeros in equality constraint Jacobian...: 394</div><div>Number of nonzeros in inequality constraint Jacobian.: 0</div>
<div>Number of nonzeros in Lagrangian Hessian.............: 295</div><div><br></div><div> Runtime parameters:</div><div> Objective type: Unknown!</div><div> Coarsening type: Unknown!</div><div> Initial partitioning type: Unknown!</div>
<div> Refinement type: Unknown!</div><div> Perform a 2-hop matching: Yes</div><div> Number of balancing constraints: 1</div><div> Number of refinement iterations: 0</div><div> Random number seed: 1581471676</div>
<div> Number of separators: 256</div><div> Compress graph prior to ordering: Yes</div><div> Detect & order connected components separately: No</div><div> Prunning factor for high degree vertices: -184828960.000000</div>
<div> Allowed maximum load imbalance: 2007201.000 </div><div><br></div><div>Input Error: Incorrect objective type.</div><div> nbrpool statistics</div><div> nbrpoolsize: 0 nbrpoolcpos: 0</div>
<div> nbrpoolreallocs: 0</div><div><br></div><div>Total number of variables............................: 148</div></div><div><br></div><div>Does anyone know how to address these issues?</div><div><br></div>
<div>Best regards,</div><div>Joel</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>
<br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>
<br></div><div>had to struggle a bit to get it working with HSL, so I want to know </div><div><br></div><div>ln -s libmetis.dylib libmetis.so<br></div><div>ln -s libcoinhsl.dylib libhsl.dylib<br></div>
</div></div>