[SCIP] Compling SCIP with MinGW

Stengel, Tobias tobias.stengel at siemens-logistics.com
Tue Dec 14 11:09:37 CET 2021


Hello,

 

I'm trying to (cross) compile SCIP/Soplex 8.0.0-beta with MinGW. It builds
fine but the resulting scip.exe hangs after reading the lp file:

 

 $scip.exe -f some.lp 

SCIP version 8.0.0 [precision: 8 byte] [memory: block] [mode: optimized] [LP
solver: SoPlex 6.0.0] [GitHash: ba0175573a]

Copyright (C) 2002-2021 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin
(ZIB)

 

External libraries:

  SoPlex 6.0.0         Linear Programming Solver developed at Zuse Institute
Berlin (soplex.zib.de) [GitHash: 040e3435]

 

user parameter file <scip.set> not found - using default parameters

 

read problem <some_path/some.lp>

============

 

Same happens with the queens example as well as SCIP 7.0.3. Based on limited
printf debugging the hang seems to be somewhere in the plugin initialization
but it might be that memory is corrupted earlier.

Has anyone experience with SCIP and mingw?

I know that SCIP can be built with Visual C++, but that has other
disadvantages - starting with the lack of OpenMP > 2.0 (-> no parallel
solving of bender subproblems).

 

Setup:

*	debian bullseye
*	mingw from the official package sources (g++-mingw-w64-x86-64)
*	cmake .. -DCMAKE_TOOLCHAIN_FILE=some/path/mingw_toolchain.cmake
-DPAPILO=off -DZIMPL=off -DREADLINE=off -DZLIB=off -DIPOPT=off
-DQUADMATH=off -DGMP=off -DEXPRINT=none -DAMPL=off -DGCG=off
*	make scip
*	mingw_toolchain.cmake:

set(CMAKE_SYSTEM_NAME Windows)

set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix)

set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix)

set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32)

set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

set(AUTOTOOLS_CROSS_COMPILE_FLAGS --host=x86_64-w64-mingw32)

*	the resulting scip.exe is dynamically linked against
libgcc_s_seh-1.dll and libstdc++-6.dll

*	these can be located by running x86_64-w64-mingw32-g++-posix
-print-file-name=some.dll
*	both need to be copied into the folder containing scip.exe

*	scip.exe is tested under Windows 10 (64bit)

This setup works fine with other nontrivial C++ code.

 

Thanks,

Tobias

 

 



Siemens Digital Logistics GmbH
SL SDL TEC R&D SCS
Stumpfstr. 1
76131 Karlsruhe, Germany 
 <mailto:tobias.stengel at siemens-logistics.com>
mailto:tobias.stengel at siemens-logistics.com
 <http://www.siemens-digital-logistics.com>
www.siemens-digital-logistics.com

Management: Christopher Christian, Christian Schmidt
Registered office: Nachtweideweg 1-7, 67227 Frankenthal, Germany
Register Court: Ludwigshafen am Rhein, HRB 64386

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20211214/cd4db45a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 14966 bytes
Desc: not available
URL: <http://listserv.zib.de/pipermail/scip/attachments/20211214/cd4db45a/attachment.p7s>


More information about the Scip mailing list