Coder Social home page Coder Social logo

ampl / coin Goto Github PK

View Code? Open in Web Editor NEW
67.0 15.0 28.0 32.88 MB

COIN-OR projects with CMake build support

Home Page: https://projects.coin-or.org

License: Other

Shell 7.57% C++ 77.47% TeX 1.95% Makefile 7.80% CSS 0.01% C 0.84% CMake 0.06% Awk 0.02% Java 0.10% MATLAB 0.10% R 0.19% Fortran 0.11% Gnuplot 0.01% Python 0.01% AMPL 0.03% Batchfile 0.01% M4 0.76% NASL 0.01% JetBrains MPS 2.96%

coin's Introduction

coin's People

Contributors

fdabrandao avatar mapgccv avatar petters avatar vitaut avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coin's Issues

User requests updated build of CBC

We have the following request for a newer version of CBC:

I'm looking for a 64-bit Windows copy of version 2.9.9 of the CBC Solver. I've attempted downloading it from the link below, but when I run it, it displays a version of 2.9.7 with a build release date of November 24 2015.

Here's the link: https://ampl.com/dl/open/ipopt/ipopt-win64.zip

I tested this -- but with the cbc link rather than the ipopt link given above -- and confirmed that the version and release date of the currently available binary from our site are as the user states. The GitHub COIN-OR code page shows CBC updated to 2.10.2, however.

Ipopt header files not installed

When I build the project I see many header files installed to CMAKE_INSTALL_PREFIX/include/coin but none of the Ipopt files; for example, IpTNLP.hpp is missing.

Here's what gets installed:

$ ls install/include/coin/
BonAmplInterface.hpp                  CbcFeasibilityBase.hpp                ClpGubMatrix.hpp                      CouenneChooseStrong.hpp
BonAmplSetup.hpp                      CbcFixVariable.hpp                    ClpInterior.hpp                       CouenneChooseVariable.hpp
BonAmplTMINLP.hpp                     CbcFollowOn.hpp                       ClpLinearObjective.hpp                CouenneComplBranchingObject.hpp
BonArraysHelpers.hpp                  CbcFullNodeInfo.hpp                   ClpMatrixBase.hpp                     CouenneComplObject.hpp
BonAuxInfos.hpp                       CbcGeneral.hpp                        ClpMessage.hpp                        CouenneConfig.h
BonBabInfos.hpp                       CbcGeneralDepth.hpp                   ClpModel.hpp                          CouenneCrossConv.hpp
BonBabSetupBase.hpp                   CbcHeuristic.hpp                      ClpNetworkMatrix.hpp                  CouenneCutGenerator.hpp
BonBonminSetup.hpp                    CbcHeuristicDINS.hpp                  ClpNode.hpp                           CouenneDepGraph.hpp
BonBranchingTQP.hpp                   CbcHeuristicDW.hpp                    ClpNonLinearCost.hpp                  CouenneDisjCuts.hpp
BonCbc.hpp                            CbcHeuristicDive.hpp                  ClpObjective.hpp                      CouenneDomain.hpp
BonCbcLpStrategy.hpp                  CbcHeuristicDiveCoefficient.hpp       ClpPEDualRowDantzig.hpp               CouenneExprAbs.hpp
BonCbcNlpStrategy.hpp                 CbcHeuristicDiveFractional.hpp        ClpPEDualRowSteepest.hpp              CouenneExprAux.hpp
BonCbcNode.hpp                        CbcHeuristicDiveGuided.hpp            ClpPEPrimalColumnDantzig.hpp          CouenneExprBCos.hpp
BonChooseVariable.hpp                 CbcHeuristicDiveLineSearch.hpp        ClpPEPrimalColumnSteepest.hpp         CouenneExprBDiv.hpp
BonCouenneInfo.hpp                    CbcHeuristicDivePseudoCost.hpp        ClpPESimplex.hpp                      CouenneExprBMul.hpp
BonCouenneInterface.hpp               CbcHeuristicDiveVectorLength.hpp      ClpPackedMatrix.hpp                   CouenneExprBSin.hpp
BonCouenneSetup.hpp                   CbcHeuristicFPump.hpp                 ClpParameters.hpp                     CouenneExprBound.hpp
BonCurvBranchingSolver.hpp            CbcHeuristicGreedy.hpp                ClpPdcoBase.hpp                       CouenneExprClone.hpp
BonCutStrengthener.hpp                CbcHeuristicLocal.hpp                 ClpPlusMinusOneMatrix.hpp             CouenneExprConst.hpp
BonDiver.hpp                          CbcHeuristicPivotAndFix.hpp           ClpPresolve.hpp                       CouenneExprCopy.hpp
BonDummyHeuristic.hpp                 CbcHeuristicRENS.hpp                  ClpPrimalColumnDantzig.hpp            CouenneExprCos.hpp
BonDummyPump.hpp                      CbcHeuristicRINS.hpp                  ClpPrimalColumnPivot.hpp              CouenneExprDiv.hpp
BonEcpCuts.hpp                        CbcHeuristicRandRound.hpp             ClpPrimalColumnSteepest.hpp           CouenneExprExp.hpp
BonExitCodes.hpp                      CbcHeuristicVND.hpp                   ClpQuadraticObjective.hpp             CouenneExprGroup.hpp
BonFixAndSolveHeuristic.hpp           CbcLinked.hpp                         ClpSimplex.hpp                        CouenneExprHess.hpp
BonGuessHeuristic.hpp                 CbcMessage.hpp                        ClpSimplexDual.hpp                    CouenneExprIVar.hpp
BonHeuristicDive.hpp                  CbcMipStartIO.hpp                     ClpSimplexNonlinear.hpp               CouenneExprIf.hpp
BonHeuristicDiveFractional.hpp        CbcModel.hpp                          ClpSimplexOther.hpp                   CouenneExprInv.hpp
BonHeuristicDiveMIP.hpp               CbcNWay.hpp                           ClpSimplexPrimal.hpp                  CouenneExprJac.hpp
BonHeuristicDiveMIPFractional.hpp     CbcNode.hpp                           ClpSolve.hpp                          CouenneExprLog.hpp
BonHeuristicDiveMIPVectorLength.hpp   CbcNodeInfo.hpp                       Clp_C_Interface.h                     CouenneExprMax.hpp
BonHeuristicDiveVectorLength.hpp      CbcObject.hpp                         CoinAlloc.hpp                         CouenneExprMin.hpp
BonHeuristicFPump.hpp                 CbcObjectUpdateData.hpp               CoinBuild.hpp                         CouenneExprMul.hpp
BonHeuristicLocalBranching.hpp        CbcOrClpParam.cpp                     CoinDenseFactorization.hpp            CouenneExprNorm.hpp
BonHeuristicRINS.hpp                  CbcOrClpParam.hpp                     CoinDenseVector.hpp                   CouenneExprOp.hpp
BonInitHeuristic.hpp                  CbcParam.hpp                          CoinDistance.hpp                      CouenneExprOpp.hpp
BonIpoptInteriorWarmStarter.hpp       CbcPartialNodeInfo.hpp                CoinError.hpp                         CouenneExprPWLinear.hpp
BonIpoptSolver.hpp                    CbcSOS.hpp                            CoinFactorization.hpp                 CouenneExprPow.hpp
BonIpoptWarmStart.hpp                 CbcSimpleInteger.hpp                  CoinFileIO.hpp                        CouenneExprQuad.hpp
BonLinearCutsGenerator.hpp            CbcSimpleIntegerDynamicPseudoCost.hpp CoinFinite.hpp                        CouenneExprSin.hpp
BonLocalSolverBasedHeuristic.hpp      CbcSimpleIntegerPseudoCost.hpp        CoinFloatEqual.hpp                    CouenneExprStore.hpp
BonLpBranchingSolver.hpp              CbcSolver.hpp                         CoinHelperFunctions.hpp               CouenneExprSub.hpp
BonMilpRounding.hpp                   CbcStrategy.hpp                       CoinIndexedVector.hpp                 CouenneExprSum.hpp
BonNlpHeuristic.hpp                   CbcSubProblem.hpp                     CoinLpIO.hpp                          CouenneExprTrilinear.hpp
BonOACutGenerator2.hpp                CbcTree.hpp                           CoinMessage.hpp                       CouenneExprUnary.hpp
BonOAMessages.hpp                     CbcTreeLocal.hpp                      CoinMessageHandler.hpp                CouenneExprVar.hpp
BonOaDecBase.hpp                      Cbc_C_Interface.h                     CoinModel.hpp                         CouenneExpression.hpp
BonOaFeasChecker.hpp                  Cgl012cut.hpp                         CoinModelUseful.hpp                   CouenneFeasPump.hpp
BonOaNlpOptim.hpp                     CglAllDifferent.hpp                   CoinMpsIO.hpp                         CouenneFixPoint.hpp
BonOsiTMINLPInterface.hpp             CglClique.hpp                         CoinOslFactorization.hpp              CouenneFunTriplets.hpp
BonOuterApprox.hpp                    CglConfig.h                           CoinPackedMatrix.hpp                  CouenneGlobalCutOff.hpp
BonPseudoCosts.hpp                    CglCutGenerator.hpp                   CoinPackedVector.hpp                  CouenneJournalist.hpp
BonPumpForMinlp.hpp                   CglDuplicateRow.hpp                   CoinPackedVectorBase.hpp              CouenneLQelems.hpp
BonQuadCut.hpp                        CglFlowCover.hpp                      CoinParam.hpp                         CouenneMINLPInterface.hpp
BonQuadRow.hpp                        CglGMI.hpp                            CoinPragma.hpp                        CouenneMatrix.hpp
BonRegisteredOptions.hpp              CglGMIParam.hpp                       CoinPresolveDoubleton.hpp             CouenneObject.hpp
BonStrongBranchingSolver.hpp          CglGomory.hpp                         CoinPresolveDual.hpp                  CouenneOrbitBranchingObj.hpp
BonSubMipSolver.hpp                   CglKnapsackCover.hpp                  CoinPresolveDupcol.hpp                CouenneOrbitObj.hpp
BonTMINLP.hpp                         CglLandP.hpp                          CoinPresolveEmpty.hpp                 CouennePSDcon.hpp
BonTMINLP2OsiLP.hpp                   CglLandPValidator.hpp                 CoinPresolveFixed.hpp                 CouennePrecisions.hpp
BonTMINLP2Quad.hpp                    CglLiftAndProject.hpp                 CoinPresolveForcing.hpp               CouenneProblem.hpp
BonTMINLP2TNLP.hpp                    CglMessage.hpp                        CoinPresolveImpliedFree.hpp           CouenneProblemElem.hpp
BonTMINLPLinObj.hpp                   CglMixedIntegerRounding.hpp           CoinPresolveIsolated.hpp              CouenneProjections.hpp
BonTMatrix.hpp                        CglMixedIntegerRounding2.hpp          CoinPresolveMatrix.hpp                CouenneRecordBestSol.hpp
BonTNLP2FPNLP.hpp                     CglOddHole.hpp                        CoinPresolveMonitor.hpp               CouenneRootQ.hpp
BonTNLPSolver.hpp                     CglParam.hpp                          CoinPresolvePsdebug.hpp               CouenneSOSObject.hpp
BonTypes.hpp                          CglPreProcess.hpp                     CoinPresolveSingleton.hpp             CouenneSdpCuts.hpp
BonminConfig.h                        CglProbing.hpp                        CoinPresolveSubst.hpp                 CouenneSolverInterface.hpp
CbcBranchActual.hpp                   CglRedSplit.hpp                       CoinPresolveTighten.hpp               CouenneTNLP.hpp
CbcBranchAllDifferent.hpp             CglRedSplit2.hpp                      CoinPresolveTripleton.hpp             CouenneThreeWayBranchObj.hpp
CbcBranchBase.hpp                     CglRedSplit2Param.hpp                 CoinPresolveUseless.hpp               CouenneTwoImplied.hpp
CbcBranchCut.hpp                      CglRedSplitParam.hpp                  CoinPresolveZeros.hpp                 CouenneTypes.hpp
CbcBranchDecision.hpp                 CglResidualCapacity.hpp               CoinRational.hpp                      CouenneVTObject.hpp
CbcBranchDefaultDecision.hpp          CglSimpleRounding.hpp                 CoinSearchTree.hpp                    CouenneVarObject.hpp
CbcBranchDynamic.hpp                  CglStored.hpp                         CoinShallowPackedVector.hpp           Idiot.hpp
CbcBranchLotsize.hpp                  CglTreeInfo.hpp                       CoinSignal.hpp                        IpoptConfig.h
CbcBranchToFixLots.hpp                CglTwomir.hpp                         CoinSimpFactorization.hpp             OsiAuxInfo.hpp
CbcBranchingObject.hpp                CglZeroHalf.hpp                       CoinSmartPtr.hpp                      OsiBranchingObject.hpp
CbcClique.hpp                         ClpAmplObjective.hpp                  CoinSnapshot.hpp                      OsiCbcSolverInterface.hpp
CbcCompare.hpp                        ClpCholeskyBase.hpp                   CoinSort.hpp                          OsiChooseVariable.hpp
CbcCompareActual.hpp                  ClpCholeskyDense.hpp                  CoinStructuredModel.hpp               OsiClpSolverInterface.hpp
CbcCompareBase.hpp                    ClpCholeskyPardiso.hpp                CoinTime.hpp                          OsiColCut.hpp
CbcCompareDefault.hpp                 ClpConfig.h                           CoinTypes.hpp                         OsiCollections.hpp
CbcCompareDepth.hpp                   ClpConstraint.hpp                     CoinUtility.hpp                       OsiConfig.h
CbcCompareEstimate.hpp                ClpConstraintAmpl.hpp                 CoinUtilsConfig.h                     OsiCut.hpp
CbcCompareObjective.hpp               ClpConstraintLinear.hpp               CoinWarmStart.hpp                     OsiCuts.hpp
CbcConfig.h                           ClpConstraintQuadratic.hpp            CoinWarmStartBasis.hpp                OsiPresolve.hpp
CbcConsequence.hpp                    ClpDualRowDantzig.hpp                 CoinWarmStartDual.hpp                 OsiRowCut.hpp
CbcCountRowCut.hpp                    ClpDualRowPivot.hpp                   CoinWarmStartPrimalDual.hpp           OsiRowCutDebugger.hpp
CbcCutGenerator.hpp                   ClpDualRowSteepest.hpp                CoinWarmStartVector.hpp               OsiSolverBranch.hpp
CbcCutModifier.hpp                    ClpDummyMatrix.hpp                    Coin_C_defines.h                      OsiSolverInterface.hpp
CbcCutSubsetModifier.hpp              ClpDynamicExampleMatrix.hpp           CouExpr.hpp                           OsiSolverParameters.hpp
CbcDummyBranchingObject.hpp           ClpDynamicMatrix.hpp                  CouenneAggrProbing.hpp                OsiUnitTests.hpp
CbcEventHandler.hpp                   ClpEventHandler.hpp                   CouenneBTPerfIndicator.hpp
CbcFathom.hpp                         ClpFactorization.hpp                  CouenneBab.hpp
CbcFathomDynamicProgramming.hpp       ClpGubDynamicMatrix.hpp               CouenneBranchingObject.hpp

Release 2.10.0?

Is this project still active? There is a new stable release for Cbc (2.10.0). Wondering if you are planning to build static binaries for this version?

cmake error on master branch

I'm trying to build with cmake.
I just cloned the master branch and I get this error:

> git clone https://github.com/ampl/coin.git
> cd coin
> mkdir build && cd build
> cmake ..
CMake Error at CMakeLists.txt:532 (target_link_libraries):
  Cannot specify link libraries for target "Cbc-osiUnitTest" which is not
  built by this project.

It works with configure but I'm interested to use the cmake version.

CMAKE_POSITION_INDEPENDENT_CODE

Is there a perfomance reason the configuration does not always do this:

set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)

Even if static libraries are built, they may be needed to in turn build shared libraries, which will fail without position independent code. I recently encountered this and had to change CMakeLists.txt.

shared libs

I'm trying to build libraries in shared with: -DBUILD_SHARED_LIBS:BOOL=ON. Some symbols are declared but are undefined which makes the .so unusable:

http://www.cmake.org/cmake/help/v2.8.10/cmake.html#variable:BUILD_SHARED_LIBS

> nm -B ./build_debug/dependencies/osi_clp/Clp/src/liblib_clp.so  | c++filt | grep CbcOrClpParam
000000000003a160 t _GLOBAL__sub_I_CbcOrClpParam.cpp
000000000004eb90 T whichParam(CbcOrClpParameterType, int, CbcOrClpParam*)
000000000004f4f0 T establishParams(int&, CbcOrClpParam*)
000000000004d9e0 T CbcOrClpParam::setIntValue(int)
000000000004db20 T CbcOrClpParam::setDoubleValue(double)
000000000004dc40 T CbcOrClpParam::setStringValue(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)
**                 U CbcOrClpParam::setIntParameter(ClpSimplex*, int)**
000000000004d7a0 T CbcOrClpParam::setCurrentOption(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)
000000000004d830 T CbcOrClpParam::setCurrentOption(int, bool)
000000000004c030 T CbcOrClpParam::gutsOfConstructor()
**                 U CbcOrClpParam::setDoubleParameter(ClpSimplex*, double)**
000000000004d970 T CbcOrClpParam::setCurrentOptionWithMessage(int)
000000000004f4a0 T CbcOrClpParam::append(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)
000000000004f190 T CbcOrClpParam::CbcOrClpParam(CbcOrClpParam const&)
000000000004ebe0 T CbcOrClpParam::CbcOrClpParam(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, CbcOrClpParameterType, int, int)
000000000004f300 T CbcOrClpParam::CbcOrClpParam(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, CbcOrClpParameterType, int, int)
000000000004ee80 T CbcOrClpParam::CbcOrClpParam(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, double, CbcOrClpParameterType, int)
000000000004ed30 T CbcOrClpParam::CbcOrClpParam(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, CbcOrClpParameterType, int)
000000000004efe0 T CbcOrClpParam::CbcOrClpParam()
000000000004f190 T CbcOrClpParam::CbcOrClpParam(CbcOrClpParam const&)
000000000004ebe0 T CbcOrClpParam::CbcOrClpParam(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, CbcOrClpParameterType, int, int)
000000000004f300 T CbcOrClpParam::CbcOrClpParam(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, CbcOrClpParameterType, int, int)
000000000004ee80 T CbcOrClpParam::CbcOrClpParam(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, double, CbcOrClpParameterType, int)
000000000004ed30 T CbcOrClpParam::CbcOrClpParam(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, CbcOrClpParameterType, int)
000000000004efe0 T CbcOrClpParam::CbcOrClpParam()
000000000004be50 T CbcOrClpParam::~CbcOrClpParam()
000000000004be50 T CbcOrClpParam::~CbcOrClpParam()
000000000004f0d0 T CbcOrClpParam::operator=(CbcOrClpParam const&)
000000000004d1e0 T CbcOrClpParam::printString() const
000000000004c970 T CbcOrClpParam::printOptions() const
000000000004d5a0 T CbcOrClpParam::printLongHelp() const
000000000004c200 T CbcOrClpParam::lengthMatchName() const
000000000004c560 T CbcOrClpParam::parameterOption(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const
000000000004d670 T CbcOrClpParam::checkDoubleParameter(double) const
000000000004c210 T CbcOrClpParam::matches(std::basic_string<char, std::char_traits<char>, std::allocator<char> >) const
000000000004c2e0 T CbcOrClpParam::matchName() const
00000000001d3480 r whichParam(CbcOrClpParameterType, int, CbcOrClpParam*)::__PRETTY_FUNCTION__
00000000001d3440 r establishParams(int&, CbcOrClpParam*)::__PRETTY_FUNCTION__
00000000001d33a0 r CbcOrClpParam::printOptions() const::__PRETTY_FUNCTION__
00000000001d33e0 r CbcOrClpParam::printLongHelp() const::__PRETTY_FUNCTION__

See openMVG/openMVG#215

Thanks

Install header files as well.

Currently, only compiled library files are installed via the “INSTALL” target. It would be great if all header files required to use the library were installed as well.

On Windows, CMake gives error with gfortran.

Hello. I'm hoping to use your CMake files to build Ipopt on Windows. My understanding is that the C++ compiler should be Visual Studio 2015 and the Fortran compiler should be gfortran from MinGW. I tried to use these compilers and CMake generated the following error (could not use gfortran):

Checking whether the Fortran compiler is Compaq using "-what" did not match "Compaq Visual Fortran":
gfortran.exe: error: unrecognized command line option '-what'; did you mean '-gnat'?
gfortran.exe: fatal error: no input files
compilation terminated.
Checking whether the Fortran compiler is NAG using "-V" did not match "NAG Fortran Compiler":
gfortran.exe: error: unrecognized command line option '-V'
gfortran.exe: fatal error: no input files
compilation terminated.
Checking whether the Fortran compiler is Compaq using "-what" did not match "Compaq Visual Fortran":
gfortran.exe: error: unrecognized command line option '-what'; did you mean '-gnat'?
gfortran.exe: fatal error: no input files
compilation terminated.
Checking whether the Fortran compiler is NAG using "-V" did not match "NAG Fortran Compiler":
gfortran.exe: error: unrecognized command line option '-V'
gfortran.exe: fatal error: no input files
compilation terminated.
Determining if the Fortran compiler works failed with the following output:
Change Dir: C:/Users/chris/repos/amplcoin/tryfortran/build/CMakeFiles/CMakeTmp

Run Build Command:"C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/devenv.com" "CMAKE_TRY_COMPILE.sln" "/build" "Debug" "/project" "cmTC_122b1"


Microsoft Visual Studio 2015 Version 14.0.25420.1.

Copyright (C) Microsoft Corp. All rights reserved.



Some errors occurred during migration. For more information, see the migration report:

C:\Users\chris\repos\amplcoin\tryfortran\build\CMakeFiles\CMakeTmp\UpgradeLog.htm



The operation could not be completed. The parameter is incorrect. 

I have the same issue when trying to use gfortran in a separate trivial CMake project:

cmake_minimum_required(VERSION 3.10)
project(foo Fortran)
enable_language(Fortran)

So this is not a bug with your project. But it sounds like you've gotten this to work before, so I am wondering what I should do differently.

Any help you could provide would be appreciated. Thank you.

Cannot execute the cbc binary on ARMv7 architecture

Hey!

I was trying to build pulp on an ARMv7 machine that uses cbc, however from what I can see cbc probably does not support the ARMv7 architecture. Below is the error I get:

$ ./cbc
-sh: ./cbc: cannot execute binary file: Exec format error

$ file cbc 
cbc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.9, BuildID[sha1]=dc5438ae3ebec28b55aa2053ef943cda426fd15e, not stripped

$ uname -m
armv7l

I also get the same error for aarch64, ppc64le, and the s390x architectures. I wanted to ask if there is some other way we can run cbc on these architectures, or whether you could provide the binaries for the same arches? I am willing to help either way 😄 .

Force static gfortran seems to only work properly up to CMake v3.8.2

The value of CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES used to be:

"gfortran;m;quadmath;m;c"

but starting from CMake v3.9.0 it became:

"gfortran;m;gcc_s;gcc;quadmath;m;gcc_s;gcc;c;gcc_s;gcc"

and this leads to errors such as "/usr/bin/ld: cannot find -lgcc_s" when we use force_static_libs for Fortran. It works fine up to CMake v3.8.2. It looks like some change made between CMake v3.8.2 and v3.9.0 (Kitware/CMake@v3.8.2...v3.9.0) led to this. The CMake configuration is also quite old and may need a revision to work with recent versions of CMake.

A note was added in ec003b4 for anyone that gets similar issues with newer versions of CMake.

License of CMakeLists.txt

We were wondering what the license is of your cmake scripts.
More specifically, are they compatible with LGPL?

CBC 2.10.5 requested to fix bug

It is requested to update our builds of CBC to version 2.10.5, with the hope of fixing a bug that prevents a solution from being returned after a time limit is reached:

I am a student who is using cbc throught AMPL to solve mixed-integer linear problems. I have found a bug in the compiled cbc (version 2.10.3), which can be download from ampl website (https://ampl.com/dl/open/cbc/cbc-linux64.zip). The bug is that when I set a time limit for cbc, if that time limit is reached, the solver does not return the best feasible solution founded. This seems to have been fixed in the lastest stable version of cbc (2.10.5), as explained in release notes (https://github.com/coin-or/Cbc/releases/tag/releases%2F2.10.5).

building ipopt standalone on Solaris

Hey @vitaut,

So I tried a couple of things here and thought that now's a good time to ask for help. I first attempted to build the full COIN stack via cmake, but there are apparently a few ThirdParty libraries that just don't mesh with Solaris (e.g., there are differences in sys/mmap.h between standard *nix distros and solaris).

I thought instead to just try to install Ipopt and the standalone solver. Here's what I did:

$ cd Ipopt && mkdir build && cd build
$ ../configure --prefix=$HOME/.local
$ gmake && make install

Note that Solaris' default make is not GNU's make, and it will not work. GNU's make on Solaris is installed as gmake.

This works out of the box.

Following the instructions, I proceeded (still in the build directory) with

cd contrib/sIPOPT
gmake

results in

<snip>
CC -G -zdefs -hlibsipopt.so.1 -o .libs/libsipopt.so.1.10.4   .libs/SensAlgorithm.o .libs/SensRegOp.o .libs/SensDenseGenSchurDriver.o .libs/SensIndexPCalculator.o .libs/SensIndexSchurData.o .libs/SensMetadataMeasurement.o .libs/SensApplication.o .libs/SensUtils.o .libs/SensReducedHessianCalculator.o .libs/SensBuilder.o .libs/SensSimpleBacksolver.o .libs/SensStdStepCalc.o  -lCstd -lCrun -lc  
Undefined                       first referenced
 symbol                             in file
void Ipopt::DenseVector::set_values_from_scalar() .libs/SensAlgorithm.o
void Ipopt::IpBlasDcopy(int,const double*,int,double*,int) .libs/SensIndexPCalculator.o
Ipopt::TaggedObject::unique_tag_ .libs/SensAlgorithm.o
[Hint: static member Ipopt::TaggedObject::unique_tag_ must be defined in the program]

void Ipopt::CompoundVector::SetCompNonConst(int,Ipopt::Vector&) .libs/SensStdStepCalc.o
Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::IpoptCalculatedQuantities::curr_grad_lag_x() .libs/SensStdStepCalc.o
Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::IpoptCalculatedQuantities::curr_grad_lag_s() .libs/SensStdStepCalc.o
Ipopt::__RTTI__1nFIpoptVPDSearchDirCalculator_ .libs/SensApplication.o
[Hint: static member Ipopt::__RTTI__1nFIpoptVPDSearchDirCalculator_ must be defined in the program]

Ipopt::__RTTI__1nFIpoptGVector_ .libs/SensAlgorithm.o
[Hint: static member Ipopt::__RTTI__1nFIpoptGVector_ must be defined in the program]

Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::IpoptCalculatedQuantities::curr_c() .libs/SensApplication.o
Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::IpoptCalculatedQuantities::curr_d() .libs/SensApplication.o
Ipopt::__RTTI__1nFIpoptODenseSymMatrix_ .libs/SensIndexPCalculator.o
[Hint: static member Ipopt::__RTTI__1nFIpoptODenseSymMatrix_ must be defined in the program]

void Ipopt::CompoundVector::SetComp(int,const Ipopt::Vector&) .libs/SensAlgorithm.o
Ipopt::__RTTI__1nFIpoptODenseGenMatrix_ .libs/SensIndexPCalculator.o
[Hint: static member Ipopt::__RTTI__1nFIpoptODenseGenMatrix_ must be defined in the program]

Ipopt::SmartPtr<Ipopt::IteratesVector>Ipopt::IteratesVector::MakeNewIteratesVector(bool)const .libs/SensAlgorithm.o
void Ipopt::DenseGenMatrix::LUSolveVector(Ipopt::DenseVector&)const .libs/SensDenseGenSchurDriver.o
void Ipopt::Vector::Scal(double)        .libs/SensAlgorithm.o
Ipopt::SmartPtr<Ipopt::Vector>Ipopt::NLPScalingObject::apply_vector_scaling_x_LU_NonConst(const Ipopt::Matrix&,const Ipopt::SmartPtr<const Ipopt::Vector>&,const Ipopt::VectorSpace&) .libs/SensAlgorithm.o
Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::IpoptCalculatedQuantities::curr_compl_s_L() .libs/SensStdStepCalc.o
Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::IpoptCalculatedQuantities::curr_compl_s_U() .libs/SensStdStepCalc.o
Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::IpoptCalculatedQuantities::curr_compl_x_L() .libs/SensStdStepCalc.o
Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::IpoptCalculatedQuantities::curr_compl_x_U() .libs/SensStdStepCalc.o
Ipopt::__RTTI__1nFIpoptGMatrix_ .libs/SensIndexPCalculator.o
[Hint: static member Ipopt::__RTTI__1nFIpoptGMatrix_ must be defined in the program]

Ipopt::DenseVector::DenseVector(const Ipopt::DenseVectorSpace*) .libs/SensAlgorithm.o
void Ipopt::DenseVector::SetValues(const double*) .libs/SensAlgorithm.o
bool Ipopt::DenseGenMatrix::ComputeEigenVectors(const Ipopt::DenseSymMatrix&,Ipopt::DenseVector&) .libs/SensReducedHessianCalculator.o
Ipopt::DenseGenMatrix::DenseGenMatrix(const Ipopt::DenseGenMatrixSpace*) .libs/SensDenseGenSchurDriver.o
Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::IpoptCalculatedQuantities::curr_d_minus_s() .libs/SensStdStepCalc.o
Ipopt::SmartPtr<Ipopt::IpoptData>Ipopt::IpoptApplication::IpoptDataObject() .libs/SensApplication.o
void Ipopt::Vector::Print(const Ipopt::Journalist&,Ipopt::EJournalLevel,Ipopt::EJournalCategory,const std::string &,int,const std::string &)const .libs/SensAlgorithm.o
bool Ipopt::DenseGenMatrix::ComputeLUFactorInPlace() .libs/SensDenseGenSchurDriver.o
Ipopt::DenseSymMatrix::DenseSymMatrix(const Ipopt::DenseSymMatrixSpace*) .libs/SensIndexPCalculator.o
Ipopt::__RTTI__1nFIpoptLDenseVector_ .libs/SensAlgorithm.o
[Hint: static member Ipopt::__RTTI__1nFIpoptLDenseVector_ must be defined in the program]

Ipopt::DenseGenMatrixSpace::DenseGenMatrixSpace(int,int) .libs/SensDenseGenSchurDriver.o
Ipopt::SmartPtr<Ipopt::IpoptAlgorithm>Ipopt::IpoptApplication::AlgorithmObject() .libs/SensApplication.o
Ipopt::SmartPtr<const Ipopt::Vector>Ipopt::NLPScalingObject::apply_vector_scaling_x_LU(const Ipopt::Matrix&,const Ipopt::SmartPtr<const Ipopt::Vector>&,const Ipopt::VectorSpace&) .libs/SensAlgorithm.o
Ipopt::DenseSymMatrixSpace::DenseSymMatrixSpace(int) .libs/SensIndexPCalculator.o
ld: fatal: symbol referencing errors
gmake[1]: *** [libsipopt.la] Error 2
gmake[1]: Leaving directory `/h/u045/gidden/software/coin-recursive/Ipopt/build/contrib/sIPOPT/src'
gmake: *** [sipopt_lib] Error 2

Before falling much further down the rabbit hole, I thought I'd see if you have any ideas. I tried updating my LD_LIBRARY_PATH and LIBRARY_PATH to no avail.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.