" fd:6:hGetLine:文件结束"在Cryptol

时间:2014-11-21 00:03:32

标签: cryptol

我已经从源代码编译并安装了两个cvc4。按照建议下载并安装了Cvc4,并从它的git存储库下载了Cryptol。沙箱和安装完成没有错误(GHC 7.8.3 x86_64)。只有在调用cryptol并发出:prove True后才会出现此问题。这就是一切:

athan@namek ~/lib> cryptol
                        _        _
   ___ _ __ _   _ _ __ | |_ ___ | |
  / __| '__| | | | '_ \| __/ _ \| |
 | (__| |  | |_| | |_) | || (_) | |
  \___|_|   \__, | .__/ \__\___/|_|
            |___/|_| version 2.1.0 (8898348)

Loading module Cryptol
Cryptol> :prove True
cryptol: fd:6: hGetLine: end of file
athan@namek ~/lib> 

对此的任何帮助都是巨大的。对我而言,感觉就像找不到共享库一样。这会导致这个问题吗?谢谢。

1 个答案:

答案 0 :(得分:1)

总结评论中的对话:

"文件的结尾"问题中提到的错误通常归因于感兴趣的证明者(在这种情况下为CVC4)仅部分安装" - 在我的情况下,这总是一个共享库的问题,可以通过从命令行调用二进制文件(cvc,boolector等)来发现它。 REPL将终止的错误的票证是on Cryptol's github。幸运的是,这个问题是fixed in upstream SBV,很快就会出现在Cryptol的SBV分支中。

WRT AthanClark的特殊情况仍然不知道CVC4在被Cryptol调用时失败的原因和方式 - 可能包括调用不同于我们预期的二进制文件的密码或环境差异,例如LD_LIBARARY路径变量。无论哪种方式,听起来他能够成功使用替代证明器(boolector)。

编辑:如果你能够制作Athan的bug,那里的CVC在SBV之外工作,而不是在SBV内...你住在波特兰然后向我发一条消息,出现在我的办公室并告诉我,我感兴趣。