2017-06-07 19 views
0

因此,我使用的是Mac OS X Yosemite 10.10.5。我需要使用OCaml 3.08.3來運行someone else's code(該代碼不會運行最新版本的OCaml ...),並且我下載了.dmg文件here。安裝似乎是罰款,但每當我在終端運行命令「ocaml的」,我得到已下載OCaml,獲取錯誤「可執行文件中的CPU類型不正確」

-bash: /usr/local/bin/ocaml: /usr/local/bin/ocamlrun: bad interpreter: Bad CPU type in executable 

任何人都知道這是怎麼回事?將不勝感激任何幫助。

回答

3

您下載的版本僅適用於Mac OS X 10.3(Panther)。它可能適用於其他版本,但不能保證。在MacOS中,爲一個版本編譯的二進制文件通常與其他版本不兼容。

如果您需要一個沒有二進制分發的OCaml版本,您可以隨時自己手動構建,或通過系統OPAM自行構建。

替代解決方案將使用Docker或虛擬機。

更新

此外,您試圖編譯的代碼並不真正需要完全3.08。它可以編譯任何版本的編譯器,最高可達4.04。問題是,在構建系統中,一個致命的警告標誌被打開,所有的警告都被轉化爲錯誤(我想說,這是一種非常糟糕的軟件分發做法)。好消息是,它可以很容易地修復,只需在文本編輯器中打開Makefile,並刪除以下所有字符串-warn-error A

+0

哇,你的建議修好了一切!非常感謝! –

+0

也許不是最好的地方問,但一個小問題(我從來沒有用過OCaml):當我運行代碼(比如說「./ecc

+1

只需重定向它'./ecc result.cliques' – ivg

相關問題