所以我正在运行Mac OS X Yosemite 10.10.5。我需要使用OCaml 3.08.3来运行someone else's code(代码不能与最新版本的OCaml一起运行......),我下载了.dmg文件here。安装似乎很好,但每当我在终端运行命令'ocaml'时,我得到
-bash: /usr/local/bin/ocaml: /usr/local/bin/ocamlrun: bad interpreter: Bad CPU type in executable
任何人都知道怎么了?非常感谢任何帮助。
答案 0 :(得分:3)
您下载的版本仅适用于Mac OS X 10.3(Panther)。它可能适用于其他一些版本,但不能保证。在MacOS中,为一个版本编译的二进制文件通常与其他版本不兼容。
如果您需要一个没有二进制分发的OCaml版本,您可以自己构建它,手动(困难)或通过OPAM系统。
替代解决方案将使用Docker或虚拟机。
此外,您尝试编译的代码并不真正需要3.08。它可以在任何版本的编译器上完美编译,最高可达4.04。问题是在构建系统中,打开致命的警告标志,以便将所有警告转换为错误(分发软件的一种非常糟糕的做法,我想说)。好消息是它可以轻松修复,只需在文本编辑器中打开Makefile
,并删除所有出现的以下字符串-warn-error A
。