4

Opam が提供する Ocaml バージョンで Ocaml プロジェクトをコンパイルしようとしています。私の ocamlbuild、ocamlfind、および oasis は問題ないようです:

/Users/fred/.opam/4.02.1/bin/ocamlbuild
dhcp-182-73:compil fred$ which ocamlfind
/Users/fred/.opam/4.02.1/bin/ocamlfind
dhcp-182-73:compil fred$ which oasis
/Users/fred/.opam/4.02.1/bin/oasis

しかし、コンパイルしようとすると、間違ったバージョンの ocamlbuild が呼び出されているようで、ocamlfind のバージョンが正しくても、ocamlfind が sexplib ライブラリを見つけられない理由が説明できると思います。

$ make
ocaml setup.ml -build 
Finished, 0 targets (0 cached) in 00:00:00.
+ /Users/fred/.opam/system/bin/ocamlfind ocamldep -package threads -package sexplib.syntax -package core -package comparelib.syntax -modules  src/tricot/tricot.mli > src/tricot/tricot.mli.depends
ocamlfind: Package `sexplib.syntax' not found
Command exited with code 2.
Compilation unsuccessful after building 1 target (0 cached) in 00:00:00.
E: Failure("Command ''/usr/local/bin/ocamlbuild' src/tricot/tricot.cma src/tricot/tricot.cmxa src/tricot/tricot.a src/tricot/tricot.cmxs src/compil/compil.cma src/compil/compil.cmxa src/compil/compil.a src/compil/compil.cmxs src/main.native -use-ocamlfind -tag debug' terminated with error code 10")
make: *** [build] Error 1

どのバージョンの ocambuild を使用するかを oasis に伝えようとしましたが、成功しませんでした。ありがとう

4

3 に答える 3

5

削除して再度setup.data実行してみてください。makeOasis は、最初にビルドしようとしたときにパスをキャッシュし、その後は自動的に更新しません。おそらく、それをビルドしようとして、それから を使用しopam switch、それから再度ビルドしようとしたのでしょうか?

于 2015-05-02T12:23:56.353 に答える