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

Senses,Begum bgmsenses at ufl.edu
Wed Aug 20 20:59:00 EDT 2014

Hi Tony,

I downloaded Ipopt again did all of these steps again and it still does 
not work. I have also tried adding the changes to the Makefile.in file.

@PKG_CONFIG@ --libs ipopt | sed -e 's/-framework vecLib//g'` I changed 
this line with

@PKG_CONFIG@ --libs ipopt csparse | sed -e 's/-framework vecLib//g'`

and then ran the configure script again but it is still not working.

On Wed, 20 Aug 2014 17:45:49 -0700, Tony Kelman wrote:
> Begum,
> 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.
> -Tony
> -----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
> ../CoinIpopt/Ipopt/src/Algorithm/LinearSolvers/IpMa57SolverInterface.cpp.
> 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

More information about the Ipopt mailing list