I don't know anything about ocaml, but I want to install Coccinelle (on cygwin), which has a dependency on the binary ocamlfind .
However, installing either ocaml-3.11.0-win-mgw.exe or ocaml-3.11.0-win-msvc.exe from http://caml.inria.fr/download.en.html , there are no such binaries. In fact, not a single file in the installed directory contains a link to the string "ocamlfind".
And downloading the source code (ocaml-3.12.1), grep finds only the following links:
./Changes:- PR#5165: ocamlbuild does not pass '-thread' option to ocamlfind ./Changes:- PR#5217: ocamlfind plugin should add '-linkpkg' for toplevel ./ocamlbuild/command.ml: else None (* Sh"ocamlfind ocamlc" for example will not be digested. *) ./ocamlbuild/findlib.ml: | Cannot_run_ocamlfind ./ocamlbuild/findlib.ml: | Cannot_run_ocamlfind -> ./ocamlbuild/findlib.ml:let ocamlfind = "ocamlfind" ./ocamlbuild/findlib.ml: run_and_parse Lexers.ocamlfind_query ./ocamlbuild/findlib.ml: "%s query -l -predicates byte %s" ocamlfind name ./ocamlbuild/findlib.ml: "%s query -a-format -predicates native %s" ocamlfind name ./ocamlbuild/findlib.ml: run_and_parse Lexers.blank_sep_strings "%s query -r -p-format %s" ocamlfind name ./ocamlbuild/findlib.ml: (* TODO: Improve to differenciate whether ocamlfind cannot be ./ocamlbuild/findlib.ml: error Cannot_run_ocamlfind ./ocamlbuild/findlib.ml: run_and_parse Lexers.blank_sep_strings "%s list | cut -d' ' -f1" ocamlfind ./ocamlbuild/findlib.ml:make another ocamlfind query such as: ./ocamlbuild/findlib.ml: ocamlfind query -p-format -r package1 package2 ... *) ./ocamlbuild/lexers.mli:val ocamlfind_query : Lexing.lexbuf -> ./ocamlbuild/lexers.mll:and ocamlfind_query = parse ./ocamlbuild/lexers.mll: | _ { raise (Error "Bad ocamlfind query") } ./ocamlbuild/manual/manual.tex:\texttt{ocamlfind}). Here is the list of relevant options: ./ocamlbuild/ocaml_specific.ml: if !Options.use_ocamlfind then begin ./ocamlbuild/ocaml_specific.ml: (* Note: if there is no -pkg option, ocamlfind won't be called *) ./ocamlbuild/ocaml_specific.ml:if not !Options.use_ocamlfind then begin ./ocamlbuild/options.ml:let use_ocamlfind = ref false ./ocamlbuild/options.ml: "ocamlyacc"; "menhir"; "ocamllex"; "ocamlmklib"; "ocamlmktop"; "ocamlfind"] ./ocamlbuild/options.ml:let ocamlfind x = S[V"OCAMLFIND"; x] ./ocamlbuild/options.ml: "-use-ocamlfind", Set use_ocamlfind, " Use ocamlfind to call ocaml compilers"; ./ocamlbuild/options.ml: if !use_ocamlfind then begin ./ocamlbuild/options.ml: ocamlc := ocamlfind & A"ocamlc"; ./ocamlbuild/options.ml: ocamlopt := ocamlfind & A"ocamlopt"; ./ocamlbuild/options.ml: ocamldep := ocamlfind & A"ocamldep"; ./ocamlbuild/options.ml: ocamldoc := ocamlfind & A"ocamldoc"; ./ocamlbuild/options.ml: ocamlmktop := ocamlfind & A"ocamlmktop"; ./ocamlbuild/signatures.mli: val use_ocamlfind : bool ref ./ocamlbuild/signatures.mli: | Cannot_run_ocamlfind ./ocamlbuild/signatures.mli: (** Transitive closure, as returned by [ocamlfind query -r]. *)
and none of this refers to the installation of such a binary file. Therefore, I kind of lost how to continue. Revert to older ocaml versions?
By the way, the ocaml cygwin native packages also did not contain any ocamlfind binaries.
source share