我试图通过命令行远程机器使用make命令编译一个OCaml .ml文件,但它显示了以下错误:
+ ocamlfind ocamlc -c -package xmlm -package unix -o pms.cmo pms.ml
ocamlfind: Package `xmlm' not found
Command exited with code 2.
Hint: Recursive traversal of subdirectories was not enabled for this build,
as the working directory does not look like an ocamlbuild project (no
'_tags' or 'myocamlbuild.ml' file). If you have modules in subdirectories,
you should add the option "-r" or create an empty '_tags' file.
To enable recursive traversal for some subdirectories only, you can use the
following '_tags' file:
true: -traverse
<dir1> or <dir2>: traverse
Compilation unsuccessful after building 6 targets (5 cached) in 00:00:00.
Makefile:10 : la recette pour la cible « native » a échouée
make: *** [native] Erreur 10我尝试使用以下命令导出环境:
eval $(/usr/bin/opam config env --root=/path/Ocaml/opam-ocaml-4.04-strech)但我也有这样的错误:
# opam-version 1.2.2
# os linux
File /p/opas/src/Ocaml/opam-ocaml-4.04-strech/config does not exist而config文件确实存在于目录中
有什么可以帮忙的吗?!!谢谢
发布于 2021-02-10 02:15:56
要通过opam提供程序包(假设已正确安装和配置了opam ),您需要:
安装package
要安装一个名为foo的包,请在shell中执行以下命令
opam install foo要激活您的opam安装(启用搜索路径),请发出以下命令
eval $(opam config env)或者,对于现代的opam (即2.x版),仅使用eval $(opam env)
在此之前,您需要正确初始化您的opam安装,即安装编译器(或使用系统编译器)和基础包。这是通过opam init命令完成的,该命令在您的家中创建一个opam管理的子目录,例如,使用(按今天的标准是旧的) OCaml版本4.04.0,您可以这样初始化它
opam init --comp=4.04.0初始化完成后,不要忘记通过eval $(opam config env)激活它,现在就可以安装软件包了。
最后,您正在使用的opam版本已经过时,并且很久以前就被弃用了,因此它无法接收更新,并且此版本可以理解的存储库被冻结,不再更新。你真的需要把你的opam更新到2.x版本了。请按照opam installation instructions获取最新版本。
https://stackoverflow.com/questions/66122712
复制相似问题