c++windowsipopt

"IPOPT" Provided package HSL is not working or does not contain MA27


I am trying to install IPOPT. I am following the installation steps from here. I got the official HSL file (academic). I was able to ./configure and make and make install it. I made sure to rename the folder to "coinhsl" as is required by this repo.

When I try to install Ipopt I keep getting this error

checking for LAPACK... yes: generic library (-llapack -lblas)
checking for package ASL... yes
checking for package Mumps... yes
checking for MPI_Initialized... no
checking for package HSL... yes
checking for function ma27ad_ in -lcoinhsl   ... no
checking for function ma27ad in -lcoinhsl   ... no
checking for function MA27AD_ in -lcoinhsl   ... no
checking for function MA27AD in -lcoinhsl   ... no
checking for function ma27ad__ in -lcoinhsl   ... no
checking for function ma27ad_ in -lcoinhsl   ... no
checking for function MA27AD__ in -lcoinhsl   ... no
checking for function MA27AD_ in -lcoinhsl   ... no
configure: error: Provided package HSL is not working or does not contain MA27. See config.log for details on failed checks.

I tried to follow the solutions given here but I am unable to resolve the error.

Any help is greatly appreciated.

Edit 1:

@RichardCritten This is something i found on investigating the logs

configure:24545: checking for function MA27AD_ in -lcoinhsl   
configure:24570: gcc -o conftest.exe -O2 -DNDEBUG    conftest.c -lcoinhsl    >&5
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lcoinhsl: No such file or directory
collect2.exe: error: ld returned 1 exit status

Although, I still don't understand, why "-lcoinhsl" isn't created.


Solution

  • I had the similar issue, but offcial documentation it is clearly say how to do it,

    Steps:

    1. Go to http://hsl.rl.ac.uk/ipopt and get Coin-HSL sources archive

    2. git clone https://github.com/coin-or-tools/ThirdParty-HSL.git

    3. cd ThirdParty-HSL

    4. Now unpack the Coin-HSL sources archive, move and rename the resulting directory so that it becomes ThirdParty-HSL/coinhsl

    5. cd ThirdParty-HSL

      ./configure
      make
      sudo make install
      
    6. Then, follow the rest of the instructions provided in the offcial documentation