[Ipopt] 3.13.2 with binary coinhsl and Java interface reports libhsl.so: undefined symbol: dtrsm_

Greg Kopff greg at q10stats.com
Wed Jun 24 00:21:25 EDT 2020


Hi.

I run on Centos 7.6.

I have a binary distribution of the coinhsl (coinhsl-linux-x86_64-2015.06.23).  Following the coinhsl instructions, I placed the relevant files in /usr/local/lib and /usr/local/include.  I created a file named 'coin-hsl-usr-local-lib.conf' in /etc/ld.so.conf.d/.  The file contains the path /usr/local/lib.  I then ran ldconfig.  I can see that ldconfig knows about libcoinhsl:

  # ldconfig -p | grep coin
      libcoinhsl.so.0 (libc6,x86-64) => /usr/local/lib/libcoinhsl.so.0
      libcoinhsl.so (libc6,x86-64) => /usr/local/lib/libcoinhsl.so

I then also symlinked libcoinhsl.so.0.0.0 as libhsl.so.

I have downloaded Ipopt 3.12.2.  I configured it with:

  ./configure --prefix=/usr/local/ipopt/3.13.2/install --with-hsl

I run 'make', and it builds successfully.

I run 'make test', and all the tests pass, except for the Java tests.  The Java test fails with:

   ---- 8< ---- Start of test program output ---- 8< ----
  Exception of type: OPTION_INVALID in file "IpAlgBuilder.cpp" at line 268:
   Exception message: Selected linear solver MA27 not available.
  Tried to obtain MA27 from shared library "libhsl.so", but the following error occured:
  /usr/local/lib/libhsl.so: undefined symbol: dtrsm_

  EXIT: Invalid option encountered.

If I run the compiled C test manually, I can see that the C program found and used ma27 successfully:

  This is Ipopt version 3.13.2, running with linear solver ma27.

Unfortunately, it's the Java interface to Ipopt I'm interested in.  I am running it using Java 11.

Can anyone shed some light on why the Java execution fails, and how to fix it?

Thank you.

—
Greg


More information about the Ipopt mailing list