Ocamlbuild seems to not include dependent modules when building a library, when that library is defined by an mlpack file. However, it works fine if I manually pack, i.e. define an ml file instead of an mlpack file. Here's a summary: --- mylib.mlpack --- A B $ ocamlbuild mylib.cma $ cat _build/_log #just showing relevant line ocamlfind ocamlc -a -linkpkg mylib.cmo -o mylib.cma I was expecting a.cmo and b.cmo to get included in the library but they are not. Now if a replace the mylib.mlpack with mylib.ml as follows, I get what I want. --- mylib.ml --- module A = A module B = B $ ocamlbuild mylib.cma $ cat _build/_log #just showing relevant line ocamlfind ocamlc -a -linkpkg a.cmo b.cmo mylib.cmo -o mylib.cma How can I get the latter behavior with mlpack? Thank you.