我正在尝试使用以下方法从源代码构建Coq
:
$ git clone https://github.com/coq/coq.git
$ cd coq && ./configure
我得到(假)响应:
Your version of OCaml is 4.04.0.
You need OCaml 4.05.0 or later.
Configuration script failed!
当我在终端中输入ocaml --version
时,我得到的是:
The OCaml toplevel, version 4.09.0+dev0-2019-01-18
那是怎么回事?谁是对的?
答案 0 :(得分:3)
从Ocaml二进制文件的开发版本号来看,我猜您可能是自己构建的。如果您记得同时进行make和make install,则二进制文件将位于/ usr / local / bin目录中,前提是您在配置过程中未自定义任何内容。该目录不在您的路径中,因为对于系统上的每个发行版构建二进制文件而言,尝试使用您的开发版本都是噩梦。
要构建Coq,在配置程序包时,您需要传递要使用的Ocaml编译器所在的目录。因此,例如,如果您使用的是gcc的测试版本,则可以这样做:
./configure CC=/usr/local/bin/gcc-8.2.1-testbuild .
或者类似的东西。要查看您必须在此处具体执行的操作,可以执行以下操作:
./configure --help
然后,您应该查看有关哪些标志相关的概述。当项目依赖于软件包时(例如此处的情况),帮助菜单至少应为您指明正确的方向。
在我开始之前,我会指出,出于绝望,有些人会放心地复制新的二进制文件并替换其/ usr / bin目录中的那个二进制文件。我不能推荐您不要养成这样做的习惯。一旦您跳过为保护自己的理智而准备的护栏,事情就一发不可收拾,请记住:唯一比整夜努力使包裹工作更糟糕的事情是花了一整夜的时间来尝试使您的包裹正常工作。