[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