【问题标题】:ocaml batteries unbound toploop errorocaml 电池未绑定 toploop 错误
【发布时间】:2016-03-01 08:00:10
【问题描述】:

我正在尝试按照 Ubuntu 14.04 中的 ropc/bap/INSTALL 中给出的说明安装 ropc https://github.com/pakt/ropc 所需的 bap。我已经成功运行了这些命令。

sudo apt-get install ocaml ocaml-native-compilers ocaml-findlib camlidl \
libocamlgraph-ocaml-dev libextlib-ocaml-dev binutils-dev automake \
libcamomile-ocaml-dev otags libpcre3-dev camlp4-extra bison flex

现在,当我进入 bap 目录时,我收到以下 Unbound module toploop 错误,这似乎是电池和 ocaml 之间的兼容性问题。我该如何解决这个问题?详情请看图片

Image uploaded

我读到我应该在某处添加 -I +compiler-libs。但具体在哪里?我没有使用 ocaml 的经验,我只是想成功构建 ropc。

【问题讨论】:

    标签: ocaml ocaml-batteries


    【解决方案1】:

    我尝试编译pact/ropc项目,只能确认问题。

    虽然ocaml配置成功,但是编译显示undefined error:

    Error: Some fatal warnings were triggered (2 occurrences)
    ../Makefile.shared:84: recipe for target 'nat.cmo' failed
    make[2]: *** [nat.cmo] Error 2
    make[2]: Leaving directory '/home/strobel/tmp/ropc/bap-0.4/bigint-3.12/otherlibs/num'
    Makefile:5: recipe for target 'all' failed
    make[1]: *** [all] Error 2
    make[1]: Leaving directory '/home/strobel/tmp/ropc/bap-0.4/bigint-3.12'
    Makefile:356: recipe for target 'all-recursive' failed
    

    opam 中可以使用 ROPC 中使用的 bap 组件,但 ROPC 不可用,并且它显示出 bitrot 的迹象。 github 项目打开了 3 个问题,说明编译问题。

    我有一个配置良好的 ocaml 设置,直接来自 opam 的包(非常最新的版本),我的方法是看看它是否会在这里编译。

    怎么办?

    也许卸载你的 debian ocaml 包,用 opam 重新开始。也有可能安装旧的 ocaml 版本,所以也许可以及时回到 3.12 ocaml 版本。但是在相应版本中获得所需的包可能并不容易,opam 是相当新的。这将是一项高级 ocaml 调试工作 IMO。

    【讨论】:

    • 我可以做些什么来克服我提到的错误,'Unbound toploop' 错误?
    • 谢谢,我不知道你提到的任务有多大的挑战性。我是否收到此错误是因为 ropc 中包含的电池版本需要 3.12 ocaml?由于我是新手,我不太了解这些依赖关系。如果我现在使用 opam 安装 BAP(最新版本)会怎样。 ropc 会有问题吗?
    • 我仍然无法运行它。几个问题 1) 你说 ROPC 中使用的 bap 组件在 opam 中可用,我已经使用 ocaml 4.02.0 安装了 bap 但无法使用 ocaml 3.12.1 安装。 2) 如果我在使用 ocaml 3.12.1 作为系统的 ocaml 编译器时尝试制作 ropc,我会收到此错误。 error: /bap-0.4/bigint-3.12/otherlibs/num/big_int.cmi is not a compiled interface。如果我在制作 ropc 时使用 ocaml 4.02,它会显示 ./bap-0.4/bigint-3.12/otherlibs/num/big_int.cmi is not a compiled interface for this version of OCaml. It seems to be for an older version of OCaml.
    猜你喜欢
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多