OASIS でコンパイルしようとしている新しいプロジェクトがあります。1 つを除くすべてのパッケージが 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