[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