【问题标题】:OCAML compilation error Out_of_memoryOCAML 编译错误 Out_of_memory
【发布时间】:2012-09-24 13:48:04
【问题描述】:

当我在我的共同服务器上编译 OCaml ocaml-4.00.0 的最后一个版本的源时,我有以下 Out_of_memory 错误消息: " 致命错误:Out_of_memory 异常 执行此命令时退出代码 2: ../ocamlcomp.sh -c -g -warn-error A -w a -I camlp4/boot -I camlp4 -I stdlib -o camlp4/boot/camlp4boot.cmo camlp4/boot/camlp4boot.ml"

我最初的 bash 命令是:make world

有人知道这个错误可能来自哪里吗?

谢谢

【问题讨论】:

    标签: compilation ocaml out-of-memory


    【解决方案1】:

    我最近多次编译OCaml 4.00.0,并且我有一些保存的日志。您在此处给出的确切失败命令出现在日志的一半左右,然后继续成功构建编译器。我会由此得出结论,您实际上内存不足。即,编译占用的内存超过了系统可用的内存。这可能吗? (我不知道您所说的共享服务器是什么意思。)

    【讨论】:

    • 它是1and1 共​​享服务器报价。但是我在上面编译3.11版本的Ocaml没有任何困难
    • 好吧,我猜编译 4.00 编译器可能需要更多内存。是 32 位还是 64 位系统?
    • 这是一个已知问题。见caml.inria.fr/mantis/view.php?id=5633。不过,开发人员认为它已经修复了。如果您认为即使在 OCaml 4.00.0 的发布版本中编译器也会占用您的所有内存,请在条目中添加注释或创建一个新条目以 ping 它们,并提供您的机器架构和内存大小的信息。
    • 好吧,我把 caml.inria.fr/mantis/view.php?id=5633 讨论发红了,并认为它已经被修复了,但是再次使用来自 Ocaml 存储库的最新主干源 (@987654322 @) 我仍然在“make world”的同一点收到完全相同的错误消息
    • 我的服务器是 32 位系统。我的桌面(但我相信在这里无关紧要)是 64