前言:我是 OCaml、OPAM 和 OASIS 的新手。
tldr 问题:如何正确设置opam
存储库中尚不可用的软件包(我不能这样做opam install X
)?更多详情如下:
我正在尝试将ocaml-glpk 包含在 OCaml 项目中。我只是通过运行安装了 ocaml-glpk make
,make install
如 README 中所述,并且给定的示例编译并正确运行。但是,我正在使用 OASIS 来生成我的项目的构建系统,但我不知道如何设置它。我的文件中有相同的示例(重命名为glpkExample.ml
文件src
夹)和以下内容_oasis
:
Executable "glpkExample"
Path: src
MainIs: glpkExample.ml
CompiledObject: best
BuildDepends:
glpk
运行后oasis setup -setup-update dynamic
,我运行make
并收到以下错误:
ocaml setup.ml -build
Finished, 0 targets (0 cached) in 00:00:00.
+ /home/dimitrios/.opam/system/bin/ocamlfind ocamlopt -g -linkpkg -package glpk src/glpkExample.cmx -o src/glpkExample.native
File "_none_", line 1:
Error: Cannot find file /home/dimitrios/.opam/system/lib/glpk/glpk.cmxa
Command exited with code 2.
Compilation unsuccessful after building 4 targets (3 cached) in 00:00:00.
E: Failure("Command ''/usr/bin/ocamlbuild' src/glpkExample.native -tag debug' terminated with error code 10")
make: *** [build] Error 1
glpk 库似乎缺少编译本机可执行文件所需的 cmxa 文件。我不知道如何解决这个问题。为了正确编译glpkExample.ml
,我的 Makefile 包含/home/dimitrios/.opam/system/lib/glpk
并使用了OCamlMakefile
非常长且令人费解的 . 任何有关使用 OASIS 进行设置或如何让 ocaml-glpk 与 OASIS 一起工作的帮助将不胜感激。
谢谢!