[Ipopt] Using a Third Party Software in IPOPT MA57 Interface

Tony Kelman kelman at berkeley.edu
Wed Aug 20 20:45:49 EDT 2014


Sounds like you reran configure since you made that change. Configure 
auto-generates the Makefiles from Makefile.in, overwriting any changes you 
made. Try making the change where you add -lcsparse to LIBS in Makefile.in 
instead, then run configure and it should work again.


-----Original Message----- 
From: Senses,Begum
Sent: Wednesday, August 20, 2014 5:36 PM
To: Ipopt
Subject: [Ipopt] Using a Third Party Software in IPOPT MA57 Interface

Hello everyone,

I am trying to use a Third party software in
This third party software is called CSPARSE which is written by Tim
Davis. I was able to use this software in this file before but it
stopped working. Obviously I have changed something somewhere but I
could not find it maybe one of you can think of anything.

These are the steps that I am performing right now.

1) Compile the third party software and obtain libcsparse.a library.
2) Copy this library to CoinIpopt/lib folder.
3) Copy the main .h file of CSPARSE (cs.h) to the same folder with
IpMa57SolverInterface.cpp file which is in
CoinIpopt/Ipopt/src/Algorithm/LinearSolvers folder.
4) Modify the makefile in CoinIpopt/Ipopt/contrib/MatlabInterface/src .
I used to have LIBS = -L/CoinIpopt/lib -lipopt . I added -lcsparse to
this line.
5) The last step is adding

extern "C"

#include "cs.h"


command at the beginning of the IpMa57TSolverInterface.cpp file.

As I mentioned before these steps used to work fine but now when I run
make test it gives me the following error

Undefined symbols for architecture x86_64:
   "_cs_amd", referenced from:
       Ipopt::Ma57TSolverInterface::SymbolicFactorization(int const*,
int const*) in libipopt.a(IpMa57TSolverInterface.o)

cs_amd is the function that I am trying to use from CSPARSE software.

Thank you.

Senses, Begum
Ipopt mailing list
Ipopt at list.coin-or.org

More information about the Ipopt mailing list