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

Senses,Begum bgmsenses at ufl.edu
Wed Aug 20 20:36:03 EDT 2014


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