2016-09-01 45 views
0

ocaml的設置我已經設置了一個雙啓動英特爾SKYLAKE微架構的Linux系統(Debian的8和Manjaro 16.08)與共享/家,使用OPAM配置ocaml的。我發現ocamlc可以工作,但ocamlopt在其他系統上構建時會給出'操作數類型不匹配'彙編錯誤。 'opam switch reinstall'爲每個系統創建不同的格式二進制文件。 「ELF 64位LSB可執行文件,x86-64」與「ELF 32位LSB可執行文件,Intel 80386」。在雙引導系統

我可以改變$ OPAMROOT到外面/家庭和維護單獨的版本,但不知道我會有什麼系統組件來改變有這些系統之間的兼容性ocamlopt? Debian目前擁有gcc 4.9.2-10和Manjaro gcc 6.1.1。

回答

2

您不能共享兩個不同的操作系統之間的相同OPAM開關,尤其是因爲他們有不同的架構。但是您可以創建兩個不同的開關,每個操作系統一個。使用

opam switch <os-name> -A<compiler-version> 

其中<os-version>是你的操作系統的任意名稱,例如,debianmanjaro。而<compiler-version>是OCaml的編譯器的版本,你要使用,例如,4.034.02.3

之後,您可以更新您的個人資料,以便正確開關在bash啓動時激活,這取決於在當前的操作系統上。

+0

這似乎是一個合理的解決方案。謝謝。 –