[Ipopt] Compiling IPOPT with MUMPS on OSX

Dominique Orban dominique.orban at gmail.com
Wed Oct 16 18:56:46 EDT 2013


I'm trying to get IPOPT to work with MUMPS on OSX 10.8.4. My end goal is to provide a formula so OSX users can easily install and run IPOPT on OSX by way of the Homebrew [1] package manager (http://brew.sh).  Because of this, downloading the MUMPS source code in Thirdparty/Mumps isn't an option.

My MUMPS builds correctly and all tests pass.

IPOPT appears to build correctly, but every test fails with the following error:

	dyld: lazy symbol binding failed: Symbol not found: _dmumps_c
	  Referenced from: /tmp/Ipopt-3.11.4/Ipopt/src/Interfaces/.libs/libipopt.1.dylib
	  Expected in: flat namespace

MUMPS' C-interface test passes so I'm not sure why the linker can't find the symbol _dmumps_c in the MUMPS library when building the IPOPT test case. The symbol is there:

	/usr/local/Cellar/mumps/4.10.0/lib/libdmumps.a(dmumps_c.o):
	0000000000000000 T _dmumps_c

My configure command is as follows:

	./configure --prefix=/tmp/ipopt_install \
	            --with-mumps-incdir=/usr/local/Cellar/mumps/4.10.0/include \
	            --with-mumps-lib="-L/usr/local/Cellar/mumps/4.10.0/lib -lmpi_cxx -ldmumps -lmumps_common -lpord"

I have tried building with clang/clang++, gcc/g++ and mpicc/mpic++. The tests always fail in the same way.

I tried recompiling MUMPS with `-flat_namespace`. The MUMPS tests pass but the IPOPT tests always fail in the same way.

I haven't been able to use the compilation hints found on the IPOPT website to resolve the issue.

Thanks for any help.

Dominique




More information about the Ipopt mailing list