[Cbc-tickets] [COIN-OR Branch-and-Cut MIP Solver] #176: COIN-OR Cbc FTBFS on mips* platforms due to variable name conflict
COIN-OR Branch-and-Cut MIP Solver
coin-trac at coin-or.org
Mon Jun 19 03:30:18 EDT 2017
#176: COIN-OR Cbc FTBFS on mips* platforms due to variable name conflict
----------------------+-----------------
Reporter: lmy441900 | Owner: tkr
Type: task | Status: new
Priority: critical | Component: Cbc
Version: 2.9.8 | Keywords:
----------------------+-----------------
When compiling cbc 2.9.8 on Linux mips* platforms, an error will be
triggered:
{{{
g++ -DHAVE_CONFIG_H -I. -I. -I../src -I/usr/include/coin
-I/usr/include/coin/ -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG
-D_FORTIFY_SOURCE=2 -pipe -Wno-error -fstack-protector-strong --param=ssp-
buffer-size=4 -fomit-frame-pointer -O3 -mabi=64 -march=mips64r2
-mtune=loongson3a -fira-loop-pressure -fira-hoist-pressure -ftree-
vectorize -specs=/usr/lib/autobuild3/specs/hardened-cc1 -fpermissive
-fdeclone-ctor-dtor -ftree-vectorize -DCBC_BUILD -MT CbcBranchDynamic.lo
-MD -MP -MF .deps/CbcBranchDynamic.Tpo -c CbcBranchDynamic.cpp -fPIC
-DPIC -o .libs/CbcBranchDynamic.o
CbcModel.hpp:2397:78: error: expected ',' or '...' before numeric constant
void setMIPStart( const std::vector< std::pair< std::string, double >
> &mips ) {
^
CbcModel.hpp: In member function 'void CbcModel::setMIPStart(const
std::vector<std::pair<std::basic_string<char>, double> >&)':
CbcModel.hpp:2398:26: error: no match for 'operator=' (operand types are
'std::vector<std::pair<std::basic_string<char>, double> >' and 'int')
this->mipStart_ = mips;
^
}}}
Because of the platform Cbc is built on (tested on mipsel and mips64el) it
seems that somewhere ahead of this variable name has a constant definition
named 'mips', causing 'mips' here be replaced by a "numeric constant" (it
might be 1, representing "True").
This problem prevents Cbc from building on mips* platforms. By replacing
the variable name (See our patch: https://github.com/AOSC-Dev/aosc-os-
abbs/blob/staging/extra-scientific/cbc/autobuild/patches/CbcModel-hpp-fix-
mips-variable-constant-conflict.patch) this problem can be resolved.
Enclosing it.
--
Ticket URL: <https://projects.coin-or.org/Cbc/ticket/176>
COIN-OR Branch-and-Cut MIP Solver <http://projects.coin-or.org/Cbc>
An LP-based branch-and-cut MIP solver.
More information about the Cbc-tickets
mailing list