coin-or/Ipopt

Ipopt Build Issue

smith-nekrald opened this issue · 4 comments

Good evening Ipopt team,
Thank you for your work on this helpful nonlinear solver.

When trying to configure Ipopt, the following lines appear (and the configuration stops):


checking for package HSL... yes
checking for function ma27ad_ in -L/home/jhogg/src/coinhsl/bin-linux_x86_64/coinhsl-linux-x86_64-2014.01.10/lib -lcoinhsl   ... no
checking for function ma27ad in -L/home/jhogg/src/coinhsl/bin-linux_x86_64/coinhsl-linux-x86_64-2014.01.10/lib -lcoinhsl   ... no
checking for function MA27AD_ in -L/home/jhogg/src/coinhsl/bin-linux_x86_64/coinhsl-linux-x86_64-2014.01.10/lib -lcoinhsl   ... no
checking for function MA27AD in -L/home/jhogg/src/coinhsl/bin-linux_x86_64/coinhsl-linux-x86_64-2014.01.10/lib -lcoinhsl   ... no
checking for function ma27ad__ in -L/home/jhogg/src/coinhsl/bin-linux_x86_64/coinhsl-linux-x86_64-2014.01.10/lib -lcoinhsl   ... no
checking for function ma27ad_ in -L/home/jhogg/src/coinhsl/bin-linux_x86_64/coinhsl-linux-x86_64-2014.01.10/lib -lcoinhsl   ... no
checking for function MA27AD__ in -L/home/jhogg/src/coinhsl/bin-linux_x86_64/coinhsl-linux-x86_64-2014.01.10/lib -lcoinhsl   ... no
checking for function MA27AD_ in -L/home/jhogg/src/coinhsl/bin-linux_x86_64/coinhsl-linux-x86_64-2014.01.10/lib -lcoinhsl   ... no
configure: error: Provided package HSL is not working or does not contain MA27. See config.log for details on failed checks.

Looks like HSL path is hardcodecd to a local location relevant for one of the software developers with the nickname jhogg. May I please know how to fix the issue?

When I tried to grep the location for such hardcoding, grep has not found the desired result. The running system is Ubuntu 22.04 LTS, pretty stable Linux release.

I have no idea where these paths come from. What were your steps to get there? (call of coinbrew, how you obtained the HSL source and at which point in the procedure did you unpack it where, ...)

The problem is that no HSL was really obtained. I have compiled Ipopt previously, and everything worked fine - with dynamic linking to HSL when needed. After I have got recent HSL and installed via ThirdPartyHSL, everything went smoothly.

However, I think this situation may qualify as an issue regardless. The issue have initially arrived when I tired to compile CppAD with Ipopt, where I assumed to install Ipopt through bin/get_ipopt.sh. Then I tried to build Ipopt from coinbrew, and the same error appeared. My educated guess is that coinbrew is supposed to tell about manual HSL installation if needed.

I still have no clue why it would look for HSL in Jonathan's home directory, in particular if "no HSL was really obtained".

We have some mention on what to do for HSL when building Ipopt via coinbrew in the installation instructions: https://coin-or.github.io/Ipopt/INSTALL.html#COINBREW

I had this error. To fix this error, precompile coinhsl library prior ipopt. Provide location of libcoinhsl.so during configuration. Configure with --with-hsl-lflags="-L/path_to_coinhsl_lib -lcoinhsl"

This should fix your error.