我一直想亲自接触 Opa,但一直感觉缺少 REPL,而 REPL 是我适应新语言的首选武器。你瞧,Opa 博客提到了一个名为 opatop
的工具,它似乎就是这样,但它似乎并未包含在标准 Mac 或 Ubuntu 发行版中。
我长途跋涉到 GitHub,获取源代码并开始构建,但我遇到了提到的相同错误 here :
+ /opt/local/bin/ocamlopt.opt dynlink.cmxa unix.cmxa str.cmxa nums.cmxa -g threads.cmxa -thread -I +zip zip.cmxa -I +ocamlgraph graph.cmxa -I /opt/local/lib/ocaml/ulex ulexing.cmxa buildinfos.cmxa libbase.cmxa compilerlib.cmxa libtrx.cmxa opacapi.cmxa passlib.cmxa libqmlcompil.cmxa jslang.cmxa ocamllang.cmxa libbsl.cmxa libbsl/bslregister.cmx opalang.cmxa -o libbsl/bslregister.native
File "_none_", line 1, characters 0-1:
Error: Cannot find file dynlink.cmxa
Command exited with code 2.
我对 OCaml 开发几乎一无所知,但看起来相关库目录中具有相同扩展名的其他文件是“OCaml native 库文件”。鉴于此,这是否只是一个未包含在我最终获得的 OCaml 发行版中的库? Mantis bug上面链接中引用的内容看起来好像关于工作中的构建环境可能存在冲突的假设。
无论如何,有人可以提供任何建议吗?
谢谢!
最佳答案
OCaml 尚未使用 Lion 的 native dynlink 构建,因此默认安装下不存在 dynlink.cmxa。
以下补丁将允许您构建它。从 OCaml src 目录中, patch -p1 < PATH/TO/PATCH
,并根据需要重新安装 OCaml。
这适用于 OCaml 3.12.1
--- a/configure 2011-07-04 14:15:01.000000000 -0700
+++ b/configure 2011-08-26 10:18:42.000000000 -0700
@@ -619,9 +619,9 @@
case "$host" in
*-*-cygwin*) natdynlink=true;;
i[3456]86-*-linux*) natdynlink=true;;
x86_64-*-linux*) natdynlink=true;;
- i[3456]86-*-darwin10.*)
+ i[3456]86-*-darwin1[01].*)
if test $arch64 == true; then
natdynlink=true
fi;;
i[3456]86-*-darwin[89]*) natdynlink=true;;
关于osx-lion - OS X Lion 下 Opa 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6962388/