如何使用opam(或其他軟件包管理器)安裝特定版本的ocaml編譯器(和兼容軟件包)?如何使用opam安裝特定版本的ocaml編譯器
我快速瀏覽了opam文檔,但沒有找到相關信息。
我需要ocaml編譯器(最好是本機代碼編譯器)來構建一致性文件同步軟件。我需要使用相同版本的ocaml在兩臺機器上建立一致性,否則一致發出錯誤並放棄其職責(yiiii!)。
我從焦油球試圖建設ocaml的版本4.04.0,然後用它建立統一,但在機器的一個統一的構建與錯誤消息失敗,
make[1]: Entering directory '/home/norio/Downloads/unison/unison-2.48.4_expand/src'
ocamlc -o mkProjectInfo unix.cma str.cma mkProjectInfo.ml
File "mkProjectInfo.ml", line 1:
Error: Error while linking /home/norio/Downloads/unison/ocaml_for_unison/lib/ocaml/unix.cma(Unix):
The external function `unix_has_symlink' is not available
if [ -f `which etags` ]; then \
etags *.mli */*.mli *.ml */*.ml */*.m *.c */*.c *.txt \
; fi
make[1]: Leaving directory '/home/norio/Downloads/unison/unison-2.48.4_expand/src'
我不我希望爲探索unix_has_symlink
函數而奮鬥,並致力於探索圖書館依賴的沼澤,在這個沼澤中,許多開發人員在文明來臨之前就已經失敗了,並且包管理者被髮明出來。
有沒有類似的, opam install ocamlc-4.04
和opam install all-packages
?
補遺
unix_has_symlink
左右正在運行Linux Mint的18肉桂64位機器上觀察到的錯誤消息。這個函數是一些unix/linux庫的一部分,而不是ocaml包嗎?
你介意我問有關你得到這個錯誤的機器上的操作系統的詳細信息?我認爲'unix_has_symlink'是一個非常標準的Unix事物。 –
@MikePierce感謝您的評論。我在原帖中添加了信息。 – norio
這是一個糟糕的解決方案,但它看起來像調用'unix_has_symlink'的otherlib是新的並且不在舊版本的OCaml中(不是OCaml 4.01.0)。所以如果這個問題沒有得到解決,你可以安裝一箇舊版本。 :/ –