[Cbc] Compilation problem on current trunk

ycollette.nospam at free.fr ycollette.nospam at free.fr
Mon Oct 30 04:45:28 EDT 2017


Hello,

I found several compilation problem on current trunk while compiling with COIN_BIG_INDEX=2

When compipling the examples:

/home/artelys/repositories/coin/Cbc/Cbc/examples/simpleBAB.cpp: Dans la fonction « int main(int, const char**) »:
/home/artelys/repositories/coin/Cbc/Cbc/examples/simpleBAB.cpp:36:80: error: pas de fonction concordante pour l'appel à « OsiClpSolverInterface::loadProblem(int, int, int [3], int [2], double [2], double [2], double [2], double [2], double [1], double [1]) »
   model.loadProblem(2, 1, start, index, values, collb, colub, obj, rowlb, rowub);
                                                                                ^
In file included from /home/artelys/repositories/coin/Cbc/Cbc/examples/simpleBAB.cpp:11:0:
/home/artelys/repositories/coin/Cbc/Clp/src/OsiClp/OsiClpSolverInterface.hpp:868:16: note: candidate: virtual void OsiClpSolverInterface::loadProblem(const CoinPackedMatrix&, const double*, const double*, const double*, const double*, const double*)
   virtual void loadProblem(const CoinPackedMatrix& matrix,
                ^~~~~~~~~~~


When compiling with GPLK activated:

In file included from /home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.cpp:91:0:
/home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.hpp:163:19: error: types retournés conflictuels spécifiés pour « virtual int OsiGlpkSolverInterface::getNumElements() const »
       virtual int getNumElements() const;
                   ^~~~~~~~~~~~~~
In file included from /home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.hpp:14:0,
                 from /home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.cpp:91:
/home/artelys/repositories/coin/Cbc/Osi/src/Osi/OsiSolverInterface.hpp:504:26: error:   dans la surcharge de « virtual CoinBigIndex OsiSolverInterface::getNumElements() const »
     virtual CoinBigIndex getNumElements() const = 0;
                          ^~~~~~~~~~~~~~
/home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.cpp: Dans la fonction membre « virtual OsiSolverInterface* OsiGlpkSolverInterface::clone(bool) const »:
/home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.cpp:2887:47: error: expression « new » invalide pour le type de classe abstraite « OsiGlpkSolverInterface »
     return( new OsiGlpkSolverInterface( *this ) );
                                               ^
In file included from /home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.cpp:91:0:
/home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.hpp:34:7: note:   parce que les fonctions virtuelles suivantes sont pures dans « OsiGlpkSolverInterface »:
 class OsiGlpkSolverInterface : virtual public OsiSolverInterface {
       ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.hpp:14:0,
                 from /home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.cpp:91:
/home/artelys/repositories/coin/Cbc/Osi/src/Osi/OsiSolverInterface.hpp:1383:18: note:   virtual void OsiSolverInterface::loadProblem(int, int, const CoinBigIndex*, const int*, const double*, const double*, const double*, const double*, const double*, const double*)
     virtual void loadProblem (const int numcols, const int numrows,
                  ^~~~~~~~~~~
/home/artelys/repositories/coin/Cbc/Osi/src/Osi/OsiSolverInterface.hpp:1402:18: note:   virtual void OsiSolverInterface::loadProblem(int, int, const CoinBigIndex*, const int*, const double*, const double*, const double*, const double*, const char*, const double*, const double*)
     virtual void loadProblem (const int numcols, const int numrows,
                  ^~~~~~~~~~~
/home/artelys/repositories/coin/Cbc/Osi/OsiGlpk/OsiGlpkSolverInterface.cpp:2889:40: error: expression « new » invalide pour le type de classe abstraite « OsiGlpkSolverInterface »
     return( new OsiGlpkSolverInterface() );
                                        ^
make[2]: *** [Osi/OsiGlpk/CMakeFiles/libOsiGlpk.dir/build.make:63: Osi/OsiGlpk/CMakeFiles/libOsiGlpk.dir/OsiGlpkSolverInterface.cpp.o] Error 1

Best regards,

YC






More information about the Cbc mailing list