IDAES / idaes-ext

IDAES developer repo for those building the idaes binary solvers and related tools.
Other
9 stars 11 forks source link

L1-EP Ipopt version not compiling on Centos 6 and 7 #105

Closed eslickj closed 2 years ago

eslickj commented 3 years ago

@dthierry, I guess due to the older compiler versions on CentOS 6 and 7, the L1-EP version of Ipopt is not compiling. Errors below. Aside from this it seems to be working on other platforms.

make[2]: Entering directory `/repo/idaes-ext/coinbrew/Ipopt_l1/src/Algorithm'
  CXX      IpAlgBuilder.lo
In file included from ./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:10,
                 from IpAlgBuilder.cpp:7:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:16: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:18: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:19: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:20: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:26: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:32: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:33: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:55: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:56: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:57: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:58: error: ISO C++ forbids initialization of member ‘rho_initialized_’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:58: error: making ‘rho_initialized_’ static
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:58: error: ISO C++ forbids in-class initialization of non-const static member ‘rho_initialized_’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:59: error: ISO C++ forbids initialization of member ‘rho_has_changed_’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:59: error: making ‘rho_has_changed_’ static
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:59: error: ISO C++ forbids in-class initialization of non-const static member ‘rho_has_changed_’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp: In member function ‘Ipopt::Number Ipopt::L1ExactPenaltyRestoData::GetCurrentRho() const’:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:36: error: ‘rho_’ was not declared in this scope
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp: In member function ‘void Ipopt::L1ExactPenaltyRestoData::SetRhoTrial(Ipopt::Number)’:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:40: error: ‘rho_trial_’ was not declared in this scope
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp: In member function ‘void Ipopt::L1ExactPenaltyRestoData::SetRho(Ipopt::Number)’:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoData.hpp:62: error: ‘rho_’ was not declared in this scope
In file included from IpAlgBuilder.cpp:7:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp: At global scope:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:17: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:21: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:25: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:26: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:27: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:28: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:32: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:33: error: function definition does not declare parameters
In file included from IpAlgBuilder.cpp:23:
IpBacktrackingLineSearch.hpp:449: error: function definition does not declare parameters
IpBacktrackingLineSearch.hpp:450: error: function definition does not declare parameters
IpBacktrackingLineSearch.hpp:451: error: function definition does not declare parameters
IpBacktrackingLineSearch.hpp:452: error: function definition does not declare parameters
In file included from IpAlgBuilder.cpp:54:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoFilterConvCheck.hpp:34: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoFilterConvCheck.hpp:39: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoFilterConvCheck.hpp:43: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoFilterConvCheck.hpp:60: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoFilterConvCheck.hpp:62: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
In file included from IpAlgBuilder.cpp:55:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:20: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:25: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:35: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:41: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:42: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:43: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:51: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:52: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:53: error: function definition does not declare parameters
In file included from ./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:20,
                 from IpAlgBuilder.cpp:56:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:25: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:30: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:45: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:48: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:52: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:61: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:62: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:64: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:65: error: function definition does not declare parameters
In file included from IpAlgBuilder.cpp:56:
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:40: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:45: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:53: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:54: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:55: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:79: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:80: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:81: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:38: error: ‘nullptr’ was not declared in this scope
In file included from ./../contrib/L1ExactPenaltyResto/IpRestoL1ExactPenalty.hpp:10,
                 from IpAlgBuilder.cpp:57:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:24: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:30: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:44: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:45: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:47: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:48: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:50: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:56: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:63: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:66: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:73: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:89: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:91: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:93: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:96: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:100: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp: In member function ‘Ipopt::L1ExactPenaltyRestoIpoptNLP::IpL1ExactPenaltyObjectiveType Ipopt::L1ExactPenaltyRestoIpoptNLP::getL1EprObjectiveType() const’:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoIpoptNlp.hpp:76: error: ‘l1_epr_objective_type_’ was not declared in this scope
In file included from IpAlgBuilder.cpp:57:
./../contrib/L1ExactPenaltyResto/IpRestoL1ExactPenalty.hpp: At global scope:
./../contrib/L1ExactPenaltyResto/IpRestoL1ExactPenalty.hpp:22: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpRestoL1ExactPenalty.hpp:24: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpRestoL1ExactPenalty.hpp:28: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpRestoL1ExactPenalty.hpp:30: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpRestoL1ExactPenalty.hpp:32: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpRestoL1ExactPenalty.hpp:35: error: expected ‘;’ before ‘override’
In file included from IpAlgBuilder.cpp:71:
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:20: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:25: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:26: error: expected ‘;’ before ‘override’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:28: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:31: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:34: warning: defaulted and deleted functions only available with -std=c++0x or -std=gnu++0x
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:39: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:42: error: function definition does not declare parameters
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:44: error: function definition does not declare parameters
IpAlgBuilder.cpp: In member function ‘virtual Ipopt::SmartPtr<Ipopt::LineSearch> Ipopt::AlgorithmBuilder::BuildLineSearch(const Ipopt::Journalist&, const Ipopt::OptionsList&, const std::string&)’:
IpAlgBuilder.cpp:1120: error: cannot allocate an object of abstract type ‘Ipopt::L1ExactPenaltyRestoPDFSpaceSolver’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRestoPdfSpaceSolver.hpp:14: note:   because the following virtual functions are pure within ‘Ipopt::L1ExactPenaltyRestoPDFSpaceSolver’:
IpPDSystemSolver.hpp:89: note:  virtual bool Ipopt::PDSystemSolver::InitializeImpl(const Ipopt::OptionsList&, const std::string&)
IpPDSystemSolver.hpp:108: note:         virtual bool Ipopt::PDSystemSolver::Solve(Ipopt::Number, Ipopt::Number, const Ipopt::IteratesVector&, Ipopt::IteratesVector&, bool, bool)
IpAlgBuilder.cpp:1231: error: cannot allocate an object of abstract type ‘Ipopt::L1ExactPenaltyLeastSquareMults’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyLeastSquareMults.hpp:14: note:   because the following virtual functions are pure within ‘Ipopt::L1ExactPenaltyLeastSquareMults’:
./IpEqMultCalculator.hpp:35: note:      virtual bool Ipopt::EqMultiplierCalculator::InitializeImpl(const Ipopt::OptionsList&, const std::string&)
./IpEqMultCalculator.hpp:46: note:      virtual bool Ipopt::EqMultiplierCalculator::CalculateMultipliers(Ipopt::Vector&, Ipopt::Vector&)
IpAlgBuilder.cpp:1241: error: ‘nullptr’ was not declared in this scope
IpAlgBuilder.cpp:1245: error: cannot allocate an object of abstract type ‘Ipopt::L1ExactPenaltyOutput’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyOutput.hpp:14: note:   because the following virtual functions are pure within ‘Ipopt::L1ExactPenaltyOutput’:
IpIterationOutput.hpp:34: note:         virtual bool Ipopt::IterationOutput::InitializeImpl(const Ipopt::OptionsList&, const std::string&)
IpIterationOutput.hpp:44: note:         virtual void Ipopt::IterationOutput::WriteOutput()
IpAlgBuilder.cpp:1296: error: cannot allocate an object of abstract type ‘Ipopt::L1ExactPenaltyRhoUpdater’
./../contrib/L1ExactPenaltyResto/IpL1ExactPenaltyRhoUpdater.hpp:19: note:   because the following virtual functions are pure within ‘Ipopt::L1ExactPenaltyRhoUpdater’:
./IpAlgStrategy.hpp:123: note:  virtual bool Ipopt::AlgorithmStrategyObject::InitializeImpl(const Ipopt::OptionsList&, const std::string&)
IpAlgBuilder.cpp:1308: error: cannot allocate an object of abstract type ‘Ipopt::L1IpoptAlg’
./../contrib/L1ExactPenaltyResto/IpL1IpoptAlg.hpp:27: note:   because the following virtual functions are pure within ‘Ipopt::L1IpoptAlg’:
./IpAlgStrategy.hpp:123: note:  virtual bool Ipopt::AlgorithmStrategyObject::InitializeImpl(const Ipopt::OptionsList&, const std::string&)
IpAlgBuilder.cpp:1310: error: cannot allocate an object of abstract type ‘Ipopt::L1ExactPenaltyRestorationPhase’
./../contrib/L1ExactPenaltyResto/IpRestoL1ExactPenalty.hpp:15: note:   because the following virtual functions are pure within ‘Ipopt::L1ExactPenaltyRestorationPhase’:
IpRestoPhase.hpp:48: note:      virtual bool Ipopt::RestorationPhase::InitializeImpl(const Ipopt::OptionsList&, const std::string&)
IpRestoPhase.hpp:56: note:      virtual bool Ipopt::RestorationPhase::PerformRestoration()
make[2]: *** [IpAlgBuilder.lo] Error 1
make[2]: Leaving directory `/repo/idaes-ext/coinbrew/Ipopt_l1/src/Algorithm'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/repo/idaes-ext/coinbrew/Ipopt_l1/src/Algorithm'
make: *** [all-recursive] Error 1
dthierry commented 3 years ago

Thanks for this note @eslickj , I am very curious about this. I'll see what can be done about it.