Ocaml 要求;核心;在utop中给出错误:Unix.Unix_error(Unix.enoint,“sysconf”和“sysconf”)
当我试图在Ocaml 要求;核心;在utop中给出错误:Unix.Unix_error(Unix.enoint,“sysconf”和“sysconf”),ocaml,opam,utop,ocaml-core,ocaml-dune,Ocaml,Opam,Utop,Ocaml Core,Ocaml Dune,当我试图在utop中调用#require“core”时,我得到一个错误: 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 我的当前目录中有一个.oc
utop
中调用#require“core”
时,我得到一个错误:
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
我的当前目录中有一个.ocamlinit
文件:
(* Added by OPAM. *)
let () =
try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
with Not_found -> ()
;;
#use "topfind";;
#thread;;
#camlp4o;;
发生此错误的原因可能是什么?这似乎是Findlib的错误
我试图擦除我的~/.opam
目录,重新运行opam init
,opam开关集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
我很确定这不是由我的代码引起的异常,而是类似于utop
中发生的错误
我有一个jbuild
文件,如下所示:
(jbuild_version 1)
(executable
((name main)
(libraries (my_library))))
(install
((section bin)
(files ((main.exe as my_executable)))))
编辑:我尝试过使用不同版本的
opam
和编译器,包括系统编译器(也是版本4.05.0)。似乎什么都不管用。每个组合都会产生与上述相同的错误。这看起来像是一个带核心的组合。