Currently, when someone depends on a package on opam that indirectly depends on Unix, we'll link Unix twice (same as for all otherlibs, which is Bigarray, Unix, Dynlink, Threads ...) and there will be an error (or warning?).
The reason is that we simply called ocamlfind like ocamlfind ocamlc unix.cma usercode.cmo ..... Ocamlfind can actually receive those otherlibs packages through -package unix, which will dedupe them.
Currently, when someone depends on a package on opam that indirectly depends on Unix, we'll link Unix twice (same as for all otherlibs, which is Bigarray, Unix, Dynlink, Threads ...) and there will be an error (or warning?). The reason is that we simply called ocamlfind like
ocamlfind ocamlc unix.cma usercode.cmo ....
. Ocamlfind can actually receive those otherlibs packages through-package unix
, which will dedupe them.