[Cbc] Linking fails rev2265

Ted Ralphs ted at lehigh.edu
Sun Feb 21 18:36:11 EST 2016


As far as I know, there shouldn't be anything special you need to do in
order to link to static libraries in Linux. What's the error? On Windows,
we only support generation of static libraries at this point, so nothing
should be any different there.

Ted

On Sun, Feb 21, 2016 at 6:02 PM, Gleb Belov <gleb.belov at monash.edu> wrote:

> Now it works with 2268 without any further changes, thank you.
>
> Next question: when configuring with --enable-static --disable-shared, the
> /lib forlder has only .a (and probably .la) files and the examples'
> Makefile is not much different. However my executable does not link. Is
> there any specific link flag in this case? What is under Win?
>
> Gleb
>
>
> On 22/02/2016 4:57 AM, Ted Ralphs wrote:
>
> Hmm, this is strange. I have a few different theories, but none of them
> really fits perfectly. Did you try to see whether libCgl actually contains
> those symbols that libCbcSolver is complaining are missing? I was having
> this exact problem building with Msys in Windows, but it was a problem with
> Cgl, not Cbc, and it shouldn't happen on Linux.
>
> One thing to check---it looks to me like the order in which the libraries
> are listed on the link line is wrong, but then I'm not sure why this would
> have been working before and suddenly failed. For g++, dependencies should
> normally come after the library that depends on them. One thing to try
> would be linking in the order:
>
> -lCbcSolver -lCbc -lCgl -lOsiClp -lClpSolver -lClp -lOsi -lCoinUtils
>
> Somethings did change in the configure script between 2264 and 2265, which
> could in theory affect linking, but all of this is working on every
> platform we test on with our build setup, so it;s hard to imagine why it
> would be different for you. I just re-generated the configure scripts for
> Cbc and this did result in some changes, which I committed. It's possible
> that the scripts got slightly corrupted when I merged some changes from
> trunk, but this shouldn't have caused the linking problem you are seeing,
> especially since Cbc itself is building properly.
>
> Try with 2268 and if it's still failing, try changing the linking order
> and see whether libCgl actually has those symbols. Then we'll go from there.
>
> Cheers,
>
> Ted
>
> On Sat, Feb 20, 2016 at 2:33 AM, Gleb Belov <gleb.belov at monash.edu> wrote:
>
>> Hi Ted,
>>
>> the cbc package itself builds fine and I think the examples too. That
>> Cgl-related problem is to link own code.
>>
>> Moreover, in MSVC 2013 it works. Under Linux I had to downgrade Cbc to
>> 2258 to resume it working.
>>
>> The whole project is here:
>> https://github.com/MiniZinc/libminizinc/tree/develop. You can use
>> BUILD.sh as a template to switch on compilation of the module using cbc.
>>
>> That section of CMakeLists.txt is as follows:
>>
>>   if (WIN32 AND NOT UNIX)  #  Windows config based on
>> <https://projects.coin-or.org/Cbc/wiki/VSSetup>
>> https://projects.coin-or.org/Cbc/wiki/VSSetup
>>     set(CBC_INCLUDEDIRS "${OSICBC_HOME}/Clp/src/"
>> "${OSICBC_HOME}/Clp/src/OsiClp" "${OSICBC_HOME}/Cbc/src/"
>> "${OSICBC_HOME}/Cbc/src/OsiCbc" "${OSICBC_HOME}/Cgl/src/CglZeroHalf"
>> "${OSICBC_HOME}/Cgl/src/CglLandP" "${OSICBC_HOME}/Cgl/src/CglTwomir"
>> "${OSICBC_HOME}/Cgl/src/CglMixedIntegerRounding"
>> "${OSICBC_HOME}/Cgl/src/CglMixedIntegerRounding2"
>> "${OSICBC_HOME}/Cgl/src/CglFlowCover" "${OSICBC_HOME}/Cgl/src/CglClique"
>> "${OSICBC_HOME}/Cgl/src/CglOddHole"
>> "${OSICBC_HOME}/Cgl/src/CglKnapsackCover"
>> "${OSICBC_HOME}/Cgl/src/CglGomory" "${OSICBC_HOME}/Cgl/src/CglPreProcess"
>> "${OSICBC_HOME}/Cgl/src/CglDuplicateRow"
>> "${OSICBC_HOME}/Cgl/src/CglRedSplit" "${OSICBC_HOME}/Cgl/src/CglProbing"
>> "${OSICBC_HOME}/Cgl/src" "${OSICBC_HOME}/Clp/src"
>> "${OSICBC_HOME}/Clp/src/OsiClp" "${OSICBC_HOME}/Osi/src/Osi"
>> "${OSICBC_HOME}/CoinUtils/src" "${OSICBC_HOME}/BuildTools/headers"
>> "${OSICBC_HOME}/Cgl/src/CglResidualCapacity")
>>     set(LNDIR "${OSICBC_HOME}/Cbc/MSVisualStudio/v10/x64-v120-Release")
>>     set(OSICBC_LIBS "libOsi" "libOsiClp" "libOsiCbc" "libClp" "libCgl"
>> "libCbc" "libCbcSolver" "libCoinUtils")
>>   else ()
>>     set(CBC_INCLUDEDIRS "${OSICBC_HOME}/include/coin/")
>>     set(LNDIR "${OSICBC_HOME}/lib")
>>     set(OSICBC_LIBS "Osi" "OsiClp" "Clp" "Cgl" "Cbc" "CbcSolver"
>> "CoinUtils") #  "OsiCbc" "ClpSolver"
>> #    set(OSICBC_LIBS
>> "`PKG_CONFIG_PATH=/home/bg/Documents/prj/coin-Cbc-2.9/lib64/pkgconfig:/home/bg/Documents/prj/coin-Cbc-2.9/lib/pkgconfig:/home/bg/Documents/prj/coin-Cbc-2.9/share/pkgconfig:
>> pkg-config --libs cbc`")
>>   endif()
>>   link_directories(${LNDIR})
>>
>>   add_library(minizinc_osicbc
>>     lib/flattener.cpp solvers/MIP/MIP_solverinstance.cpp
>> solvers/MIP/MIP_osicbc_wrap.cpp
>>   )
>>   add_executable(mzn-cbc lib/solver.cpp lib/flattener.cpp
>> solvers/MIP/MIP_solverinstance.cpp solvers/MIP/MIP_osicbc_wrap.cpp)
>>
>>   target_include_directories(minizinc_osicbc PRIVATE ${CBC_INCLUDEDIRS})
>>   target_include_directories(mzn-cbc PRIVATE ${CBC_INCLUDEDIRS})
>>
>>                                        # OSICBC_LINKEXTRAS: ArchLinux
>> needs blas, lapack, bz2
>>   target_link_libraries(minizinc_osicbc minizinc ${OSICBC_LIBS}
>> ${OSICBC_LINKEXTRAS})
>>   target_link_libraries(mzn-cbc minizinc ${OSICBC_LIBS}
>> ${OSICBC_LINKEXTRAS})
>>
>>
>> Gleb
>>
>> On 20/02/2016 10:41 AM, Ted Ralphs wrote:
>>
>> Hi Gleb,
>>
>> It seems to building fine on Travis.
>>
>> https://travis-ci.org/coin-or/Cbc
>>
>> Can you provide more details on exactly how you built, so we can try to
>> replicate? I see some mention of CMake in your directory names, so I'm
>> guessing you are perhaps building in a little bit of a non-standard way.
>>
>> Ted
>>
>> On Thu, Feb 18, 2016 at 12:48 AM, Gleb Belov < <gleb.belov at monash.edu>
>> gleb.belov at monash.edu> wrote:
>>
>>> Hi,
>>>
>>> the latest revision 2265 does not link for me as before. On XUbuntu
>>> 15.04 64-bit, g++ 4.9.2. Linking command:
>>>
>>> /usr/bin/c++    -std=c++11 -O3 -DNDEBUG
>>> CMakeFiles/mzn-cbc.dir/lib/solver.cpp.o
>>> CMakeFiles/mzn-cbc.dir/lib/flattener.cpp.o
>>> CMakeFiles/mzn-cbc.dir/solvers/MIP/MIP_solverinstance.cpp.o
>>> CMakeFiles/mzn-cbc.dir/solvers/MIP/MIP_osicbc_wrap.cpp.o  -o mzn-cbc
>>> -L/opt/gurobi650/linux64/lib
>>> -L/opt/ibm/ILOG/CPLEX_Studio1263/cplex/lib/x86-64_linux/static_pic
>>> -L/home/bg/Documents/prj/scipoptsuite-3.2.0/scip-3.2.0/../lib
>>> -L/home/bg/Documents/prj/coin-Cbc-2.9/lib -rdynamic libminizinc.a -lOsi
>>> -lOsiClp -lOsiCbc -lClp -lCgl -lCbc -lCbcSolver -lCoinUtils
>>> -Wl,-rpath,/opt/gurobi650/linux64/lib:/opt/ibm/ILOG/CPLEX_Studio1263/cplex/lib/x86-64_linux/static_pic:/home/bg/Documents/prj/scipoptsuite-3.2.0/scip-3.2.0/../lib:/home/bg/Documents/prj/coin-Cbc-2.9/lib:
>>>
>>>
>>> Output:
>>>
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglCutGenerator::needsOptimalBasis() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglResidualCapacity::~CglResidualCapacity()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglMixedIntegerRounding2::~CglMixedIntegerRounding2()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::originalColumns()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglGMIParam::setMAX_SUPPORT_REL(double)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglStored::~CglStored()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglImplication'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::addCutGenerator(CglCutGenerator*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglImplication::~CglImplication()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglTwomir::~CglTwomir()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::passInRowTypes(char const*, int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeProbingInfo::fixColumns(OsiSolverInterface&) const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setMaxLookRoot(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglCutGenerator::~CglCutGenerator()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglGomory::setLimit(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglTwomir::setAwayAtRoot(double)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglKnapsackCover::createCliques(OsiSolverInterface&, int, int, bool)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglLandP::CglLandP(CglLandP::Parameters const&,
>>> LAP::Validator const&)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::~CglPreProcess()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::postProcess(OsiSolverInterface&, bool)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglGMI::~CglGMI()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglFakeClique::~CglFakeClique()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglLandP::~CglLandP()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeProbingInfo::CglTreeProbingInfo(OsiSolverInterface const*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglResidualCapacity::CglResidualCapacity()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglFlowCover'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::getMaxProbe() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglKnapsackCover::CglKnapsackCover()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeProbingInfo::analyze(OsiSolverInterface const&, int, int, int
>>> const*, CliqueEntry const*, char const*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `typeinfo for CglParam'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeProbingInfo::packDown()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglGomory::getLimit() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglRedSplit2Param::setMaxNonzeroesTab(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglGomory::~CglGomory()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglLandP::Parameters::Parameters()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::preProcessNonDefault(OsiSolverInterface&, int, int, int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setUsingObjective(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setRowCuts(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglParam::setEPS(double)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglFlowCover::~CglFlowCover()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglStored'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `LAP::Validator::Validator(double, double, double, bool,
>>> double)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglImplication::CglImplication(CglTreeProbingInfo*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglParam::setINFINIT(double)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglStored::addCut(OsiRowCut const&)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglKnapsackCover'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglKnapsackCover::~CglKnapsackCover()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglParam::setEPS_COEFF(double)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglTwomir::setAway(double)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setMaxLook(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglCutGenerator'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglGomory'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setMode(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeProbingInfo::CglTreeProbingInfo(CglTreeProbingInfo const&)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeProbingInfo::~CglTreeProbingInfo()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglStored::~CglStored()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::passInProhibited(char const*, int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglZeroHalf::~CglZeroHalf()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglResidualCapacity::setDoPreproc(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeInfo::CglTreeInfo(CglTreeInfo const&)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setMaxProbe(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglStored::addCut(double, double, int, int const*, double
>>> const*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setMaxElementsRoot(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setMaxElements(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::tightUpper() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglGomory::passInOriginalSolver(OsiSolverInterface*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglClique::CglClique(bool, bool)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglRedSplit::CglRedSplit()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::CglProbing()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeProbingInfo::convert()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglMixedIntegerRounding2::CglMixedIntegerRounding2()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglParam::setMAX_SUPPORT(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglFlowCover::CglFlowCover()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglMixedIntegerRounding2'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglCutGenerator::mayGenerateRowCutsInTree() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglProbing'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::passInMessageHandler(CoinMessageHandler*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglGomory::CglGomory()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglGomory::setLimitAtRoot(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::getMaxLook() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglTwomir::CglTwomir()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::cliqueModel(OsiSolverInterface const*, int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeInfo::CglTreeInfo()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglStored::bestObjective() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglStored::CglStored(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setMaxProbeRoot(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `vtable for CglClique'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglDuplicateRow::outDuplicates(OsiSolverInterface*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::rowCuts() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::CglPreProcess()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::getMaxPass() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setMaxPassRoot(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglTwomir::passInOriginalSolver(OsiSolverInterface*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglZeroHalf::CglZeroHalf()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::tightLower() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglRedSplit2::~CglRedSplit2()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglStored::operator=(CglStored const&)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglStored::CglStored(CglStored const&)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::~CglProbing()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::generateCutsAndModify(OsiSolverInterface const&, OsiCuts&,
>>> CglTreeInfo*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglMixedIntegerRounding2::CglMixedIntegerRounding2(int, bool,
>>> int, int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglTwomir'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglDuplicateRow::~CglDuplicateRow()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglStored::saveStuff(double, double const*, double const*, double
>>> const*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglPreProcess::cliqueIt(OsiSolverInterface&, double) const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglStored::CglStored(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglGomory::setAwayAtRoot(double)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `typeinfo for CglClique'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglGMI::CglGMI()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglTreeInfo::~CglTreeInfo()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglRedSplit::~CglRedSplit()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglMixedIntegerRounding2::setDoPreproc(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglFakeClique::CglFakeClique(OsiSolverInterface*, bool)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglDuplicateRow::CglDuplicateRow(OsiSolverInterface*)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglParam::clone() const'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglParam::~CglParam()'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglStored::CglStored(CglStored const&)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbc.so: undefined reference
>>> to `CglProbing::setMaxPass(int)'
>>> /home/bg/Documents/prj/coin-Cbc-2.9/lib/libCbcSolver.so: undefined
>>> reference to `CglRedSplit2::CglRedSplit2()'
>>> collect2: error: ld returned 1 exit status
>>>
>>> Gleb
>>> _______________________________________________
>>> Cbc mailing list
>>> Cbc at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/cbc
>>>
>>
>>
>>
>> --
>> Dr. Ted Ralphs
>> Professor, Lehigh University
>> (610) 628-1280 <%28610%29%20628-1280>
>> ted 'at' lehigh 'dot' edu
>> coral.ie.lehigh.edu/~ted <http://coral.ie.lehigh.edu/%7Eted>
>>
>>
>>
>
>
> --
> Dr. Ted Ralphs
> Professor, Lehigh University
> (610) 628-1280
> ted 'at' lehigh 'dot' edu
> coral.ie.lehigh.edu/~ted <http://coral.ie.lehigh.edu/%7Eted>
>
>
>


-- 
Dr. Ted Ralphs
Professor, Lehigh University
(610) 628-1280
ted 'at' lehigh 'dot' edu
coral.ie.lehigh.edu/~ted
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20160221/cee513fd/attachment-0001.html>


More information about the Cbc mailing list