Search code examples
linuxscip

SCIP installation produce broken link


I am trying to install the SCIP optimization suite on linux MINT 17 QIANA. I have downloaded scipoptsuite-3.1.0 form http://scip.zib.de/ and ran the make command with ZIMPL=false option. The result of the make process was

** Build complete.
** Find your SCIP binary in "/home/patstop/Downloads/scipoptsuite-3.1.0/scip-3.1.0/bin".
** Enter "make test" to solve a number of easy instances in order to verify that SCIP runs correctly.

However the test will fail because it will not find the scip bin file, in fact the link in the above mentioned directory is broken. I don't really understand why that is happening, I did succesfully installed the package a couple of days ago in Ubuntu, and I don't recall any problem in the process. Can someone give me any clue of what am I missing?

edit

This is the error message:

make[1]: Entering directory `/home/patstop/Downloads/scipoptsuite-3.1.0/scip-3.1.0'
cd check; \
bash ./check.sh short bin/scip-3.1.0.linux.x86_64.gnu.opt.spx default    scip-3.1.0.linux.x86_64.gnu.opt.spx 3600 2100000000 6144 1 default 10000 false false 3.1.0 spx false /tmp optimize;
Skipping test since the binary bin/scip-3.1.0.linux.x86_64.gnu.opt.spx does not exist.
make[1]: Leaving directory `/home/patstop/Downloads/scipoptsuite-3.1.0/scip-3.1.0'

I ran the command from the same directory in which a ran the make command (I did try to ran it from scip-3.1.0 dir but the result was the same). This is the result of ls -l in the bin directory (links are shown in red):

lrwxrwxrwx 1 root root 35 Aug 25 19:26 scip -> scip-3.1.0.linux.x86_64.gnu.opt.spx
lrwxrwxrwx 1 root root 35 Aug 25 19:26 scip.linux.x86_64.gnu.opt.spx -> scip-3.1.0.linux.x86_64.gnu.opt.spx

Solution

  • Here we go. SCIP needs a working SoPlex installation (or some other of the supported LP solvers listed here) as prerequisite. That SoPlex could not be successfully built might be because of the ncurses-library reported missing.

    Please make sure you have these libraries (ncurses etc.) installed as developer versions. Then go to the SoPlex-directory, and type make. If you have no more error messages, change to SCIP, and run make here. You probably need to adjust the links to the soplex include directory (spxinc->soplex-2.0/src) and (libsoplex.a -> soplex-2.0/lib/libsoplex.gnu.linux.x86_64.a) inside the lib-subdirectory of SCIP, if it still cannot find the lib after a successful build of SoPlex. You can also do so by running make links.

    It seems that the Optimization Suite Makefile needs to be revised so that it correctly warns you if a sub-build process was unsuccesful.