Dear Camlers,
I’ve been fighting for one entire day with a problem without success and the more i dig, the more confused i am :(
Suppose i define a small opam package - let’s call it « dummy » :
opam-version: "2.0"
name: "dummy"
version: "0.0"
synopsis: "A dummy OPAM package"
maintainer: "JS"
authors: "JS"
license: "MIT"
depends: [ "ocaml" "ocamlfind" ]
build: [
[make]
]
where [make] simply builds the library files [mylib.cma] and [mylib.cmxa] (by directly calling ocamlc/opt or using dune - this does not matter here).
What is the correct way to make this package available to other programs :
or
[opam install .]
?
I’ve tried both solutions but systematically get :
ocamlfind ocamlc -package dummy -linkpkg -o main main.ml
ocamlfind: Package `dummy' not found
when trying to compile [main.ml], where this file contains, for example : « let _ = Mylib.dump () » (and where [dump] is a function defined in mylib.ml »
When simply pinning the package, [opam info dummy] gives :
<><> dummy: information on all versions <><><><><><><><><><><><><><><><><><> 🐫
name dummy
all-versions 0.0
<><> Version-specific details <><><><><><><><><><><><><><><><><><><><><><><> 🐫
version 0.0
authors: "JS"
maintainer: "JS"
license: "MIT"
depends: "ocaml" "ocamlfind"
synopsis A dummy OPAM package
which tends does not show any installed version of the package (and hence could explain why ocamlfind does not find it ?)
After installing the package ([opam install .]), [opam info dummy] gives :
$ opam info dummy
<><> dummy: information on all versions <><><><><><><><><><><><><><><><><><> 🐫
name dummy
all-installed-versions 0.0 [4.06.0]
all-versions 0.0
<><> Version-specific details <><><><><><><><><><><><><><><><><><><><><><><> 🐫
version 0.0
authors: "JS"
maintainer: "JS"
license: "MIT"
depends: "ocaml" "ocamlfind"
synopsis A dummy OPAM package
$
which now seems to indicates that the package is « installed » (though i do not fully understand the distinction between the former case..).
But i still get the message
ocamlfind ocamlc -package dummy -linkpkg -o main main.ml
ocamlfind: Package `dummy' not found
There must be sth i’m doing wrong (or have not understood in the way opam works)..
Any help appreciated.
Jocelyn