在终端上使用opam在mac os catalina上安装gmpframa-c前提条件时出错 详细说明

问题描述

我按照http://frama-c.com/install-sulfur-20171101.html#installing-frama-c-on-mac-os-x的描述运行了以下命令来安装Frama-C:

  1. min(a,b)

请不要忘记brew install autoconf opamopam init进行正确的OPAM安装(如果以前尚未在计算机上进行过安装)。

  1. eval $(opam config env)

  2. brew install gmp gtk+ gtksourceview libgnomecanvas

    brew install graphviz

我在第三个命令之后遇到了一个错误(当然还有另外两个命令可以完全安装frama-c,但是在最后一个命令之后也会出现相同的错误)。

opam install altgr-ergo why3

解决方法

您的问题与opam特别是conf-gmp(第1版)程序包有关,它由Frama-C使用 ,但不是由它引起的。

如果先执行opam update然后执行opam install conf-gmp.2,则应该能够安装该软件包而不会出现错误。

否则,如果您可以控制向-Werror环境变量中添加CFLAGS的情况,则可以尝试将其删除并重新安装软件包。

详细说明

您的CFLAGS环境变量可能包含-Werror或类似的设置,这导致conf-gmp在编译期间发出的警告变成错误。

conf-gmp.1软件包在编译时确实会发出警告,但是在标准设置中,该警告仅被opam忽略,并且一切正常。在您的系统中,警告变为错误,并阻止了其他软件包的安装。

在注意到此问题后,发布了conf-gmp的新版本。先运行opam update,然后再运行opam install conf-gmp.2,将获得此新版本,并希望避免任何警告。请注意,-Werrors中有CFLAGS可能会触发其他程序包中的某些问题。例如,在我的配置中,无法将lablgtk-Werror一起安装,因为它的编译不可避免地会引发几个警告。可能需要添加CFLAGS=-Wno-error或类似内容以确保将编译lablgtk。否则,您可能必须从源代码编译Frama-C(在这种情况下,lablgtk是可选的)。