[Ipopt] Using a Third Party Software in IPOPT MA57 Interface
Senses,Begum
bgmsenses at ufl.edu
Wed Aug 20 21:18:49 EDT 2014
Unfortunately It is still not working.
On Wed, 20 Aug 2014 18:03:00 -0700, Tony Kelman wrote:
> I don't think csparse uses pkg-config, but I could be wrong there.
>
> Try
> @COIN_HAS_PKGCONFIG_TRUE at LIBS =
> `PKG_CONFIG_PATH=@COIN_PKG_CONFIG_PATH@ @PKG_CONFIG@ --libs ipopt |
> sed -e 's/-framework vecLib//g'` -lcsparse
>
> And if you're on a system that doesn't have pkg-config installed,
> then you'll need to add -lcsparse to the line that starts with
> @COIN_HAS_PKGCONFIG_FALSE at LIBS = ...
>
>
>
> -----Original Message----- From: Senses,Begum
> Sent: Wednesday, August 20, 2014 5:59 PM
> To: Tony Kelman
> Cc: Ipopt
> Subject: Re: [Ipopt] Using a Third Party Software in IPOPT MA57
> Interface
>
>
> 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.
>
> @COIN_HAS_PKGCONFIG_TRUE at LIBS =
> `PKG_CONFIG_PATH=@COIN_PKG_CONFIG_PATH@
> @PKG_CONFIG@ --libs ipopt | sed -e 's/-framework vecLib//g'` I
> changed
> this line with
>
> @COIN_HAS_PKGCONFIG_TRUE at LIBS =
> `PKG_CONFIG_PATH=@COIN_PKG_CONFIG_PATH@
> @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