【问题标题】:SCIP installation produce broken linkSCIP 安装产生断链
【发布时间】:2014-08-25 18:55:48
【问题描述】:

我正在尝试在 linux MINT 17 QIANA 上安装 SCIP 优化套件。我已经下载了 scipoptsuite-3.1.0 表单 http://scip.zib.de/ 并使用 ZIMPL=false 选项运行了 make 命令。 制作过程的结果是

** 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.

但是测试会失败,因为它找不到 scip bin 文件,实际上上面提到的目录中的链接已损坏。 我真的不明白为什么会这样,几天前我确实在 Ubuntu 中成功安装了这个包,我不记得这个过程中有任何问题。有人可以告诉我我错过了什么吗?

编辑

这是错误信息:

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'

我从运行make 命令的同一目录运行命令(我确实尝试从scip-3.1.0 目录运行它,但结果相同)。 这是bin目录下ls -l的结果(链接以红色显示):

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

【问题讨论】:

  • 您能否粘贴运行make test 时的确切错误消息以及执行此命令的目录?你能把坏掉的链接也贴一下吗?
  • 非常感谢您的回答。我用附加信息编辑了初始帖子
  • 在我看来 check.sh 脚本已损坏。该脚本是从 SCIP 根目录的 check-subdirectory 执行的,因此它不应该寻找 bin/... 而是 ../bin/... 即上一个目录。这很奇怪,因为我们每天都在处理它。
  • bin目录的具体内容是什么?
  • 缺少真正的二进制文件。我会先尝试make clean,然后再制作 SCIP。

标签: linux scip


【解决方案1】:

我们开始吧。 SCIP 需要一个有效的 SoPlex 安装(或列出的其他一些受支持的 LP 求解器 here)作为先决条件。无法成功构建 SoPlex 可能是因为 ncurses-library 报告丢失。

请确保您已将这些库(ncurses 等)安装为开发人员版本。 然后转到 SoPlex 目录,并输入 make。如果您没有更多错误消息, 更改为 SCIP,并在此处运行 make。您可能需要在 lib-subdirectory 中调整指向 soplex 包含目录 (spxinc->soplex-2.0/src) 和 (libsoplex.a -> soplex-2.0/lib/libsoplex.gnu.linux.x86_64.a) 的链接SCIP,如果在成功构建 SoPlex 后仍然找不到库。您也可以通过运行make links 来实现。

似乎需要修改 Optimization Suite Makefile,以便在子构建过程不成功时正确警告您。

【讨论】:

  • 是的,这就是问题所在!我在 SoPlex 目录中运行了makesudo atp-get install ncurses*,最后在 scip 目录中运行了make ZIMPL=false。似乎缺少的库仅在该过程的最后一步是必需的。非常感谢您的支持和帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-18
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
相关资源
最近更新 更多