用杰西启动Frama-c霓虹灯

问题描述 投票:1回答:1

我已经安装了frama-c和why3,但是当我尝试启动frama-c时,出现jessie3错误。

frama-c -verbose 2
[kernel] warning: cannot load plug-in `Jessie3' (incompatible with Neon-20140301).
The exact failure is: error loading shared library:
/usr/local/lib/framac/plugins/Jessie3.cmxs: undefined symbol: camlGzip

我未找到有关camlGzip的任何信息,因此它可能是任何配置文件中的错误(它可能是camlzip),但我在声明它的位置没有任何帮助。

编辑:我试图在Jessie3.cmxs中的camlzip中修改camlGzip,但是当我启动frama-c时它会产生分段错误

我的frama-c和Why3版本:

frama-c -version
Version: Neon-20140301

why3 --version
Why3 platform, version 0.85 (build date: Wed Oct 29 10:42:47 CET 2014)

我在Mint17虚拟机上工作,每个程序的./configure和make均无错误

我希望有人已经有这个问题并且可以帮助我

frama-c why3
1个回答
0
投票

我只是遇到了这个问题,并且已经解决了。您必须安装Why-2.34才能将jessie安装到您的frama-c库中。从此链接下载:https://opam.ocaml.org/packages/why/why.2.34/

我在编译它时遇到了一些麻烦,因为我必须删除coq才能成功编译它。顺便说一句,有人知道我应该如何报告coq编译错误,请帮忙。

[如果您还有Why3.85,我建议您降级到3.83,因为它似乎是Why.2.34可以识别的唯一版本。

欢呼声。


0
投票

我收到相同的消息,试图在您的帖子发布5.333年后在fedora 31中安装frama-c钙。我使用dnf和dnfdragora从fedora官方存储库安装了它。

我搬到了fedora,因为之前我曾尝试将其安装在debian 10上,但从未能够通过带有突触和apt-get的.deb文件安装它。

我还尝试从源代码中编译它,我尝试安装./configure报告的每个缺少的库,但是也失败了。

后来我了解到ocaml被认为是一种编程环境,他们的设计师还开发了维护工具。需要opam程序才能在ocaml环境中安装程序。因此,我还尝试通过opam程序安装所需的软件包。再次无效。

搜索网络中的警告,我发现负责ocaml环境的团队承认,他们在更改某些变量方面做得太过分了。 (我无法访问我的debian分区,以查看在哪个版本中引入了问题,以将其写入此处。)

在某些版本中,他们从其库中删除了一些变量,这导致所有混乱,具体取决于那些ocaml库。

他们不尊重版本号x.y.z模式,这意味着:z进行了较小的修订,增加了一些不增加新功能的修补程序;如果增加了新功能,但是y仍然向后兼容,则y增加。每次新功能更改时x都会增加,但不再向后兼容。

他们引入了不兼容的更改,但没有更改版本号的x部分。

这是一个悖论,受过正规方法教育的团队犯了这样的基本错误。我试图修复它,但是我放弃了,因为它们使用了ocaml的面向对象风格,这对我来说太复杂了。

要解决此问题,必须解密每个库的哪个版本与其他库匹配,以使安装正常进行。

很抱歉,我无法提供解决方案,这是在我尝试安装frama-c徒劳无果时发现的。

确实,解决问题的第一步是理解它。但是,这是ocaml专家的任务,不是。

© www.soinside.com 2019 - 2024. All rights reserved.