我有一个正在尝试使用 OASIS 编译的新项目。我所有的软件包,但一个都安装了 opam。
我的_oasis
文件如下所示:
(* usual package fields *)
Executable myexe
Path: src
BuildTools: ocamlbuild
MainIs: myexe.ml
BuildDepends:
some_packages_installed_with_opam
mylocalpackage
我oasis setup
当时尝试过,./configure
但 OCamlfind 回答说找不到mylocalpackage
。所以我决定看看 OCamlfind 在哪里寻找包,发现你可以设置一个OCAMLPATH
变量来添加可能安装包的目录。所以我做了export OCAMLPATH=path_to_mylocalpackage:$OCAMLPATH
并再次尝试。
oasis setup
给了我这个结果:
findlib: [WARNING] While parsing 'path_to_my_local_package/META.in':
The `directory' directive is required in this META definition
并ocamlfind query mylocalpackage
给我这个结果:
ocamlfind: Package `mylocalpackage' not found
我不知道我是否应该写在_oasis
哪里可以找到这个包,或者改变OCAMLPATH
变量是否是解决方案。但如果是这样,我不明白这个警告。
重现步骤
对于那些想尝试的人:
下载为什么3
./configure --enable-local make
_oasis
使用此文件创建一个新项目OASISFormat: 0.4 Name: myexe Version: 0.1 Synopsis: test file Authors: SO License: CC-BY-NC-SA Plugins: StdFiles (0.4), DevFiles (0.4) Alphafeatures: ocamlbuild_more_args XOCamlbuildExtraArgs: -use-ocamlfind Executable myexe Path: src BuildTools: ocamlbuild MainIs: myexe.ml BuildDepends: unix, str, num, dynlink, zip, menhirLib, why3 NativeOpt: -dtypes -g -annot ByteOpt: -dtypes -g -annot CompiledObject: best
oasis setup ./configure
- 你应该有这个错误:
ocamlfind: Package 'why3' not found