Osx lion OSX Lion下的Opa构建失败

Osx lion OSX Lion下的Opa构建失败,osx-lion,opa,Osx Lion,Opa,我一直想用Opa把我的手弄脏,但我真的感觉到了REPL的缺乏,这是我选择使用新语言的武器。瞧,Opa的博客提到了一个名为opatop的工具,它似乎就是这样,但它似乎不包括在标准的Mac或Ubuntu发行版中 我长途跋涉到GitHub,获取了源代码并开始构建,但我遇到了同样的错误: 我对OCaml开发几乎一无所知,但看起来相关库目录中具有相同扩展名的其他文件都是“OCaml本机库文件”。考虑到这一点,这仅仅是一个没有包含在我最终获得的OCaml发行版中的库吗?上面链接中的引用使其看起来似乎对工作中

我一直想用Opa把我的手弄脏,但我真的感觉到了REPL的缺乏,这是我选择使用新语言的武器。瞧,Opa的博客提到了一个名为
opatop
的工具,它似乎就是这样,但它似乎不包括在标准的Mac或Ubuntu发行版中

我长途跋涉到GitHub,获取了源代码并开始构建,但我遇到了同样的错误:

我对OCaml开发几乎一无所知,但看起来相关库目录中具有相同扩展名的其他文件都是“OCaml本机库文件”。考虑到这一点,这仅仅是一个没有包含在我最终获得的OCaml发行版中的库吗?上面链接中的引用使其看起来似乎对工作中的构建环境存在相互冲突的假设

不管怎样,有人能提供一些建议吗


谢谢

我调查了OSX Lion下的Opa构建,并在opalang上推出了2个补丁,等待批准以解决主要问题

因此,当补丁可用时,以下是我让Opa在Lion下工作的步骤(我记得):

首先,安装必要的工具:

  • 安装OS X Lion
  • 安装Xcode 4
  • 安装MacPorts
  • 安装wget(macports)
  • 安装coreutils(macports)
  • 安装md5sha1sum(macports)
  • (我想就这些了……)
然后从源代码编译Opa:

  • git克隆
  • 奥帕朗光盘
  • 依赖项/installation_helper.sh--前缀~/Opa
  • 更改~/.配置文件中的路径:导出路径=~/Opa/bin:$PATH
  • 重新配置.bashrc:source~/.profile的源代码
  • ./configure-前缀~/Opa
  • 全部安装
  • 新的opa编译器应位于~/opa/bin:)

OCaml尚未使用Lion的本机dynlink构建,因此默认安装下不存在dynlink.cmxa

下面的补丁将允许您构建它。在OCaml src目录中,
patch-p1
,然后根据需要重新安装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;;

所有这一切都是我所做的(模块化一些额外安装的端口和安装位置的选择),所以我期待着听到您的补丁被接受的消息!:)我的提交似乎已被推送:)不幸的是,我仍然看到相同的错误:找不到文件dynlink.cmxa
--- 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;;