ill*_*out 5 ocaml opam ocaml-core utop ocaml-dune
当我尝试打电话#require "core"时utop,我收到一个错误:
utop # #require "core";;
Exception: Unix.Unix_error (Unix.ENOENT, "sysconf", "").
Raised by primitive operation at unknown location
Called from file "toplevel/topdirs.ml", line 144, characters 10-51
Run Code Online (Sandbox Code Playgroud)
我有一个.ocamlinit在我当前目录中看起来像这样的文件:
(* Added by OPAM. *)
let () =
try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
with Not_found -> ()
;;
#use "topfind";;
#thread;;
#camlp4o;;
Run Code Online (Sandbox Code Playgroud)
可能导致此错误发生的原因是什么?它似乎是Findlib的一个错误?
我试图抹着我的~/.opam目录,重新运行opam init,opam switch set 4.05.0以及重新安装core和utop,但这个错误仍然存在.是否有可能我还需要重新安装opam?我目前正在使用opam-1.2.2的二进制版本.
我正在运行Arch Linux,我相信在更新系统上的所有软件包之后会出现这个错误,但我不确定.
我仍然可以用来jbuilder构建可执行文件,但是在运行可执行文件时,它们会因类似的错误而失败:
$ _build/install/default/bin/my_executable
Uncaught exception:
(Unix.Unix_error "Illegal seek" sysconf "")
Raised by primitive operation at unknown location
Run Code Online (Sandbox Code Playgroud)
我很确定这不是我的代码导致的异常,但类似于发生的错误utop.
我有一个jbuild看起来像这样的文件:
(jbuild_version 1)
(executable
((name main)
(libraries (my_library))))
(install
((section bin)
(files ((main.exe as my_executable)))))
Run Code Online (Sandbox Code Playgroud)
编辑:我尝试使用不同版本opam的编译器,包括系统编译器(也是版本4.05.0).似乎没什么用.每个组合产生与上述相同的错误.
| 归档时间: |
|
| 查看次数: |
446 次 |
| 最近记录: |