aspcud
是 ocamlopam
包管理器推荐的外部解算器。不幸的是,它只针对 Debian 打包;对于其他发行版,有一个包含二进制文件的 tarball,可从sourceforge 页面。
只需将所有二进制文件复制到路径中的某个位置(例如/usr/local/bin
)并运行aspcud
就会失败,并显示一条不具信息性的错误消息:
$ aspcud
error: could not lstat file
[发布此信息主要是为了让“无法 lstat 文件”获得一些谷歌点击量;目前唯一的点击量是其他遇到了同样问题的人。]
答案1
问题是,它会在调用它的显式前缀中aspcud
查找它所依赖的其他文件(即,如果你通过 调用它,它会在 中查找,但如果你通过 调用它,它会在 中查找),而不是在 中。因此,不要将二进制文件复制到你的路径,而是将整个 tarball 复制到或类似位置,然后在路径中创建一个可执行的 shellscript,使用完整路径调用它.
aspcud
gringo
./gringo
/usr/local/bin/aspcud
/usr/local/bin/gringo
$PATH
/opt
aspcud
#!/bin/bash
/opt/aspcud-1.9.1-x86_64-linux/aspcud $@