如何在OS X和Linux上使用统一?ocaml版本导致的致命错误

Anu*_*ush 5 centos unison macos-sierra

我正在尝试从OS X机器到运行以下操作系统的linux盒使用统一:CentOS版本6.10(最终版)

我必须为Linux盒进行统一2.51的静态编译。这个版本是:

unison version 2.51.2 (ocaml 4.02.3)
Run Code Online (Sandbox Code Playgroud)

在OS X机器上,我使用了“ brew install unison”。这给了我:

unison version 2.51.2 (ocaml 4.08.1)
Run Code Online (Sandbox Code Playgroud)

如果我现在尝试使用统一,则会得到:

Fatal error during unmarshaling (input_value: ill-formed message), possibly because client and server have been compiled with differentversions of the OCaml compiler.
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能统一工作?

ele*_*bby 8

您必须在 linux 机器上从源代码编译 ocaml 和 unison。

Ocaml:您可以在https://caml.inria.fr/pub/distrib/上找到 ocaml 4.08 。编译说明在自述文件中。

Unison:从https://github.com/bcpierce00/unison/commits/master,您将看到提交 acfa105 是与 Ocaml 4.08.1 兼容的已验证提交。下载此提交并运行 make。

我遇到了完全相同的问题,并且能够使用上述步骤解决它。

  • 我目前正在Mac(10.14.6)上的unison 2.51.2(ocaml 4.08.1)和Linux(CentOS 7.6,3.10.0-957.5.1)上的unison 2.51.2(ocaml 4.05.0)之间解决这个问题。 el7.x86_64)。CentOS 7 的最新 ocaml 发行版是 4.05.0,当我从源代码编译 ocaml 4.08.1 时,测试套件未通过 200 多个测试。 (2认同)