我正在尝试为Opam安装uri包,但我一直在遇到此错误。
==== ERROR [while installing uri.1.3.8] ====
# opam-version 0.9.6 (latest-103-g955b7ca)
# os linux
# command ocaml setup.ml -configure --prefix /root/.opam/system
# path /root/.opam/system/build/uri.1.3.8
# exit-code 1
# env-file /root/.opam/system/build/uri.1.3.8/uri-ffb3fd.env
# stdout-file /root/.opam/system/build/uri.1.3.8/uri-ffb3fd.out
# stderr-file /root/.opam/system/build/uri.1.3.8/uri-ffb3fd.err
### stderr ###
ocamlfind: Package `compiler-libs.toplevel' not found
W: Field 'pkg_compiler_libs_toplevel' is not set: Command ''/root/.opam/system/bin/ocamlfind' query -format %d compiler-libs.toplevel > '/tmp/oasis-85d951.txt'' terminated with error code 2
E: Cannot find findlib package compiler-libs.toplevel
E: Failure("1 configuration error")
'opam install uri' failed.
我对Ocaml和Opam repo很新。我真的不知道出了什么问题。我正在运行Ubuntu 12.04并安装了Ocaml 3.12.1。
感谢您提供的任何见解!
答案 0 :(得分:2)
缺少“compiler-libs.toplevel”包。如果我没记错的话,它会与ocaml一起发货,并且仅在4.0版本之后可用。
安装旧版本的uri或将编译器更新到4.0。有关详细信息,请查看here
答案 1 :(得分:2)
我只是在3.12.1下安装uri
而没有任何问题。
3.12.1是你的系统ocaml编译器,对吗?你可能通过aptitude安装了ocaml?在这种情况下,您还需要安装ocaml-compiler-libs
。 OCaml还有许多其他可选包,这些包通常是需要的,并且将来可能会遇到 - camlp4-extra
是另一个我认为错过并且需要的包。最大列表为here。
我还会升级OPAM
,因为仅在两天前对uri
包进行了一些更改。 opam update; opam upgrade
。这将需要一些重新编译,并确保切换到正确的编译器。