[Ipopt] Problem Compiling under MSys/MinGW
Stefan Vigerske
stefan at math.hu-berlin.de
Wed May 7 06:26:14 EDT 2008
Hi,
looks for me like your gcc is using the boost library as a stl
implementation. The boost might implement the constructor of std::list
differently then the normally used implementation.
The troublemaker seem to be the line
std::list<TripletEntry> entry_list(nonzeros);
at IpTripletToCSRConverter.cpp:63, where nonzeros is an int.
I presume that normally the TripletEntry() constructor is used to create
the (empty) elements of the list. But in your case, the list constructor
tries to use the TripletEntry::operator=(TripletEntry&) function which
is explicitly made private.
What happens when you comment out line 105 of
src/Algorithm/LinearSolvers/IpTripletToCSRConverter.hpp ?
I doubt that it has something to do with the way MUMPS is provided to Ipopt.
Best,
Stefan
PS: If that does not work for you, Andreas would like to see you opening
a ticket :-).
> I am trying to compile IpOpt-3.4.0 in Windows under MSys/MinGW. I have gcc
> 4.3.0. The ./configure --enable-dos-compile goes through without any problem.
> When I invoke make, compilation halts with the following error message:
>
> c:\program
> files\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_list.h:420:
> instantiated from 'std::list<Ipopt::TripletToCSRConverter::TripletEntry,
> std::allocator<Ipopt::TripletToCSRConverter::TripletEntry> >'
> IpTripletToCSRConverter.cpp:63: instantiated from here
> IpTripletToCSRConverter.hpp:105: error: 'void
> Ipopt::TripletToCSRConverter::TripletEntry::operator=(const
> Ipopt::TripletToCSRConverter::TripletEntry&)' is private
> c:\program
> files\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_check.h:209:
> error: within this context
> IpTripletToCSRConverter.hpp: In member function 'void
> __gnu_cxx::_SGIAssignableConcept<_Tp>::__const_constraints(const _Tp&) [with _Tp
> = Ipopt::TripletToCSRConverter::TripletEntry]':
> c:\program
> files\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/boost_concept_check.h:210:
> instantiated from 'void __gnu_cxx::_SGIAssignableConcept<_Tp>::__constraints()
> [with _Tp = Ipopt::TripletToCSRConverter::TripletEntry]'
> c:\program
> files\mingw\bin\../lib/gcc/mingw32/4.3.0/include/c++/bits/stl_list.h:420:
> instantiated from 'std::list<Ipopt::TripletToCSRConverter::TripletEntry,
> std::allocator<Ipopt::TripletToCSRConverter::TripletEntry> >'
> IpTripletToCSRConverter.cpp:63: instantiated from here
> IpTripletToCSRConverter.hpp:105: error: 'void
> Ipopt::TripletToCSRConverter::TripletEntry::operator=(const
> Ipopt::TripletToCSRConverter::TripletEntry&)' is private
>
>
> Apparently a private function is being called directly. Can someone please help
> me here?
>
> Thank you.
>
> Krish
>
>
> --------------------------------------------------------------------------------
> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
> <http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
> >
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
--
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan
More information about the Ipopt
mailing list