[Cbc] Cbc build fails whwn cross-compiled for 64 bit Windows

Stefan Vigerske stefan at math.hu-berlin.de
Tue Mar 1 09:22:09 EST 2011


Hi,

> Actually Stefan Vigerske had done a better job than me, which should
> also fix the AMD problem.  He modified configure so it sets
> -Wno-long-long which is more elegant than pedantic-errors.

It's only in CoinUtils so far.
I can put it also into Clp, but since configure does not know whether
UFL AMD is present, one would set -Wno-long-long always - shouldn't harm.

What other (undocumented) options for speeding up Clp by thirdparty
codes exists? I see there also ClpCholesky{Mumps,Taucs,Wssmp*}.?pp. Are
they all working?

Stefan


> 
> John
> 
> On Tue, 2011-03-01 at 13:54 +0000, Kish Shen wrote:
>> Hi John,
>>
>> Thanks. I had meant to post further comments on this, as I had a further 
>> instance of the same problem, this time with Clp, when compiled with UFL 
>> AMD.
>>
>> The problem here seems unavoidable -- UFL AMD is written in C, and for 
>> Win64, long long is the only standard C integer type that is word sized
>> (and I think long long is in the C standard). In compiling with UFL AMD, 
>> amd.h is included in the Clp code, and the compile fails because of the 
>> pedantic-errors flag. I got around the problem by removing the flag from 
>> compile, but is there a better way to get around this?
>>
>> Cheers,
>>
>> Kish
>>
>>
>> On 01/03/2011 10:43, John Forrest wrote:
>>> Should be fixed in trunk and stable/2.8
>>>
>>> On Wed, 2011-02-23 at 01:13 +0000, Kish Shen wrote:
>>>> Hi,
>>>>
>>>> This is probably strictly not an issue with CBC, but it happened when I
>>>> was compile CBC, so I am reporting it here.
>>>>
>>>> I have actually noticed this before, but I am not sure I have reported
>>>> it, probably because I didn't know which mailing list to post to.
>>>>
>>>> I am cross-compiling for 64 bit Windows, using MinGW-w64, running on
>>>> Linux. This fails unless the source is modified. The failure happens
>>>> when trying to compile CoinModelUseful2.cpp (in CoinUtils):
>>>>
>>>> ../../../CoinUtils/src/CoinModelUseful2.cpp: In function 'double
>>>> yyparse(symrec*&, const char*, char*&, int&, const double*, const
>>>> CoinModelHash&, int&, double, int&, YYSTYPE&, int&)':
>>>> ../../../CoinUtils/src/CoinModelUseful2.cpp:950:3: error: ISO C++ 1998
>>>> does not support 'long long'
>>>>
>>>> This fails because g++ is called with the -pedantic-errors flag, and
>>>> long long is not part of the C++ standard. I assume long long is used
>>>> here to represent a word-sized integer, because only long long (of the
>>>> standard C integer types) is word-sized (64 bit) in Microsoft C/C++.
>>>>
>>>>
>>>> Kish Shen
>>>>
>>>
>>>
>>> _______________________________________________
>>> Cbc mailing list
>>> Cbc at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/cbc
>>
>>
> 
> 
> _______________________________________________
> Cbc mailing list
> Cbc at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cbc
> 


-- 
Stefan Vigerske
Humboldt University Berlin, Numerical Mathematics
http://www.math.hu-berlin.de/~stefan



More information about the Cbc mailing list