[SCIP] Installing SCIP linking CPLEX 12.8 under Windows using MinGW
Shin, Jungeun
jungeun4 at illinois.edu
Wed May 20 06:30:39 CEST 2020
(I am sending this email again after getting delivery failure alarm. If you got the duplicate emails, please disregard it. Sorry about the inconvenience)
Thank you, Stefan.
I resolved the problem with copying the CPLEX library and include directory into SCIP directory.
But I need to ask another fundamental installation question.
I want to build SCIPoptsuite linking Cplex as LP solver with CMake.
(I intend to use SCIP Python interface, pyscipopt. The website said Makefile system is not compatible with PySCIPOPT.
https://github.com/SCIP-Interfaces/PySCIPOpt/blob/master/INSTALL.md )
>From other mails in this archives, I found you suggested compiling it under MinGW, MSys, or MSys2 to install on Windows, which is Makefile system. Given these conditions and answers from this archive, I have a few question about installation on Windows.
1) Can I install SCIPoptsuite with lpx=cpx using CMake On Window? If not, I would find a Linux server without wasting more time on it.
2) Can I use pre-built SCIPoptsuite and set Cplex as LPsolver?
3) I actually tried to install it with CMake, but since I wanted to make it as simple as possible, I set the most parameters as off besides SCIP.
( cmake -Bbuild -H. -DZLIB=off -DREADLINE=off -DZIMPL=off -DGMP=off -DLPS=cpx -DSOPLEX=off -DGCG = off) and added the CPLEX_INCLUDE path and CPLEX_LIBRARY path ( copied the file and paste it into SCIP directory and use those path).
Then, I got a bunch of unresolved external symbol error such as following error from the Visual studio.
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol __imp__CPXaddcols at 44 referenced in function _SCIPlpiAddCols scip C:\Program Files\scipoptsuite-7.0.0\build\scip\src\lpi_cpx.obj 1
It seems like it also needs cplex.dll as well as cplex.lib to link them. I tried to add it to Debug folder inside the build directory, but it still has an error.
I would appreciate any help.
Thank you
Best,
-----Original Message-----
Subject: Re: [SCIP] Installing SCIP linking CPLEX 12.8 under Windows using MinGW
Hi,
that paragraph in "Remarks on Installing under Windows using MinGW"
probably refers to a pretty old MinGW version. It was untouched since 2009.
SCIP tries to create a softlink lib/include/cpxinc that points to C:/Program Files/IBM/ILOG/CPLEX_Studio129/cplex/include/ilcplex/. This never worked reliably for me. Try to just copy the directory C:/Program Files/IBM/ILOG/CPLEX_Studio129/cplex/include/ilcplex/ to lib/include/cpxinc instead.
Best,
Stefan
On 5/16/20 6:54 PM, Shin, Jungeun wrote:
> Hi,
>
> I have been trying to install SCIP with Cplex 12.8 on Windows using MinGW and have some questions.
>
>
>
> 1. I don't quite understand the following part of the "Remarks on Installing under Windows using MinGW" from installation information of your website.
>
>
> " Second you need to copy the file sh.exe to bash.exe otherwise various scripts (including makefiles) will not work. Normally unistd.h covers also the getopt-options, but for mingw you need to add the entry #include <getopt.h> into "/mingw/include/unistd.h" after the other include-entries (if not present)."
>
> What does it mean by copying the file sh.exe to bash.exe? Does it mean to change the file name? Also, there is no unistd.h file in my ""/mingw/include/".
>
> Directory of C:\msys\mingw32\include
>
> 05/05/2020 11:01 AM <DIR> .
> 05/05/2020 11:01 AM <DIR> ..
> 05/11/2018 09:34 PM 13,037 ansidecl.h
> 05/11/2018 09:34 PM 262,716 bfd.h
> 05/11/2018 09:34 PM 34,356 bfdlink.h
> 05/11/2018 09:35 PM 14,771 dis-asm.h
> 05/05/2020 11:01 AM <DIR> gdb
> 05/11/2018 09:36 PM 2,912 gnumake.h
> 05/05/2020 11:01 AM <DIR> libiberty
> 05/11/2018 08:28 PM 3,700 libmangle.h
> 05/11/2018 09:34 PM 14,593 plugin-api.h
> 05/11/2018 09:34 PM 2,191 symcat.h
>
>
> 1. I proceeded to installation ignoring the part described in 1). Then, I encountered the following error, saying that my cplex directory is not a directory. Can this error related to bash.exe? or did I use wrong path?
>
>
> C:\Program Files\scip-7.0.0>make ZLIB=false READLINE=false GMP=false
> LPS=cpx
> -> generating necessary links
>
> - Current settings: LPS=cpx OSTYPE=mingw ARCH=x86 COMP=gnu
> SHARED=false SUFFIX= ZIMPL=false ZIMPLOPT=opt IPOPT=false IPOPTOPT=opt
> WORHP=false WORHPOPT=opt FILTERSQP=false EXPRINT=cppad GAMS=false
> SYM=none
>
> * SCIP needs some softlinks to external programs, in particular, LP-solvers.
> * Please insert the paths to the corresponding directories/libraries below.
> * The links will be installed in the 'lib/include' and 'lib/static' directories.
> * For more information and if you experience problems see the INSTALL file.
>
> -> "cpxinc" is the path to the CPLEX "include" directory, e.g., "<CPLEX-path>/include/ilcplex".
> -> "libcplex.*.a" is the path to the CPLEX library, e.g., "<CPLEX-path>/lib/x86-64_linux/static_pic/libcplex.a"
> -> "libcplex.*.so" is the path to the CPLEX library, e.g., "<CPLEX-path>/bin/x86-64_linux/libcplex1263.so"
>
>> Enter soft-link target file or directory for "lib/include/cpxinc" (return if not needed):
>> C:/Program Files/IBM/ILOG/CPLEX_Studio129/cplex/include/ilcplex/
> -> creating softlink "lib/include/cpxinc" -> "C:/Program Files/IBM/ILOG/CPLEX_Studio129/cplex/include/ilcplex/"
> ln: target `lib/include/cpxinc' is not a directory
> make[2]: *** [lib/include/cpxinc] Error 1
> make[1]: ***
> [lib/static/linkscreated.cpx-opt.mingw.x86.gnu.false-opt.false-opt.fal
> se.false.none.false] Error 2
> make: *** [preprocess] Error 2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20200520/68581632/attachment.html>
More information about the Scip
mailing list