<div dir="ltr"><div>Hi,</div><div>its me again, Wolfgang, working on CMAT.</div><div><br></div><div>At first I tried to compile CoinUtils-2.9.16 together with Clp-1.15.6</div><div>using C/C++ with MS Visual Studio 2010. There were quite a number of </div>
<div>errors which I was not able to get rid off. Obviously the Linux gcc </div><div>compiler is much more fogiving than MS Visual C/C++. (I made the same</div><div>experience when I switched from Watcom to MS Visual C/C++ and I found </div>
<div>quite a number of code problems.)</div><div><br></div><div>Now I also downloaded the following two versions:</div><div>- Clp-1.14.8 and CoinUtils-2.8.8</div><div>- Clp-1.15.0 and CoinUtils-2.9.0</div><div><br></div>
<div>
When I compile the version of: Clp-1.14.8 and CoinUtils-2.8.8</div><div>I have only problems with the Cholesky factorization of Clp!!</div><div>And that should be solvable for me and I guess I have</div><div>just a few questions before I get this DLL working:-)</div>
<div>Please see below for a small number of problems. And I would</div><div>be very, very thankful if you can help me.</div><div><br></div><div>Wolfgang</div><div><br></div><div><br></div><div>BTW, I have made a very nice DLL of the Concorde code for the</div>
<div>Traveling Salesman Problem by William Cook from the University</div><div>of Waterloo and many other coworkers.</div><div>Based on the main driver routines concorde.c amd lk_main.c I </div><div>have made two subroutines with only one input argument which is </div>
<div>the pointer to a structure with all information needed </div><div>for in- and output. Naturallu, I have my own input parsing and</div><div>could not use that from the main prgrams in the Concorde package.</div><div>
Since my software (CMAT) has already many static libraries and </div>
<div>DLLs I have to keep the number of dllexport's and dllimport's low. </div><div>If anybody wants the source of the two driver functions and the </div><div>header with the communication structure, I'm willing to mail that.</div>
<div><br></div><div><br></div><div>/*-------------------------------------------------------------------*/</div><div>/*--- Clp-1.14.8 and CoinUtils-2.8.8 : Use no precompiled headers ---*/</div><div><br></div><div><div><br>
</div><div>1>ClCompile:</div><div>1> ClpCholeskyWssmpKKT.cpp</div><div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(67): error C2065: 'wsetmaxthrds' : undeclared identifier</div><div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(67): error C2065: 'WSETMAXTHRDS' : undeclared identifier</div>
<div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(67): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int</div><div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(67): error C2078: too many initializers</div>
<div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(67): error C2143: syntax error : missing ';' before '('</div><div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(67): error C2062: type 'const int' unexpected</div>
<div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(67): error C2059: syntax error : ')'</div><div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(69): error C2065: 'wssmp' : undeclared identifier</div><div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(69): error C2065: 'WSSMP' : undeclared identifier</div>
<div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(69): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int</div><div>1>c:\cmat\xclp\clpcholeskywssmpkkt.cpp(69): error C2374: 'F77_FUNC' : redefinition; multiple initialization</div>
<div><br></div><div>--------------------------------</div><div><br></div><div>This has obviously to do with:</div><div><br></div><div>// At present I can't get wssmp to work as my libraries seem to be out of sync</div>
<div>// so I have linked in ekkwssmp which is an older version</div><div>#ifndef USE_EKKWSSMP</div><div>extern "C" {</div><div>void F77_FUNC(wsetmaxthrds,WSETMAXTHRDS)(const int* NTHREADS);</div><div><br></div>
<div>
void F77_FUNC(wssmp,WSSMP)(const int* N, const int* IA,</div><div> const int* JA, const double* AVALS,</div><div> double* DIAG, int* PERM,</div><div> int* INVP, double* B, </div>
<div> const int* LDB, const int* NRHS,</div><div> double* AUX, const int* NAUX,</div><div> int* MRP, int* IPARM,</div><div> double* DPARM);</div>
<div>void F77_FUNC_(wsmp_clear,WSMP_CLEAR)(void);</div><div><br></div><div>Maybe I should: #define USE_EKKWSSMP 1 ?????</div><div><br></div><div>--------------------------------</div><div><div><br></div><div>--------------------------------</div>
<div><br></div><div>This has obviously to do with:</div><div><br></div><div>1> ClpCholeskyUfl.cpp</div><div>1>c:\cmat\xclp\clpcholeskyufl.cpp(11): fatal error C1189: #error : "Need to have AMD or CHOLMOD to compile ClpCholeskyUfl."</div>
<div><br></div><div>extern "C" {</div><div>#ifndef COIN_HAS_CHOLMOD</div><div>#ifndef COIN_HAS_AMD</div><div>#error "Need to have AMD or CHOLMOD to compile ClpCholeskyUfl."</div><div>#else</div><div>#include "amd.h"</div>
<div>#endif</div><div>#else</div><div>#include "cholmod.h"</div><div>#endif</div><div>}</div><div><br></div><div>Maybe I should set: #define COIN_HAS_CHOLMOD ???</div><div>Or is clpcholeskywssmp.cpp unused anyway?</div>
<div><br></div><div>--------------------------------</div><div><br></div><div>1> ClpCholeskyMumps.cpp</div><div>1>c:\cmat\xclp\clpcholeskymumps.cpp(16): fatal error C1083: Cannot open include file: 'dmumps_c.h': No such file or directory</div>
<div>1> Generating Code...</div><div>1></div><div><br></div><div>--------------------------------</div><div><br></div><div>This has obviously to do with:</div><div>extern "C" {</div><div>#include "dmumps_c.h"</div>
<div>#include "mpi.h"</div><div>}</div><div><br></div><div>Where would I find that file dmumps_c.h ??</div><div>It doesn't come with Clp or Coin_utils??</div><div>Or is clpcholeskymumps.cpp unused anyway?</div>
<div><br></div><div>--------------------------------</div></div></div><div><br></div><div><br></div><div><br></div><div><br></div><div class="gmail_extra"><br>
</div></div>