Hi List,

I have the following problem. I have three files, each consisting of one line:

a.ml: type t = float
b.ml: type t = A.t
c.ml: include B

Now I want to put these modules into a pack, but I only want to export A and C, so I write a file project.mli:
module A : sig type t end
module C : sig type t = A.t end

As I want to use ocamlbuild, I also create a file project.mlpack:
A
C

Now, the command "ocamlbuild project.cmo" works fine, but I can't build a library from that:
ocamlbuild  project.cma
Circular dependencies: "project.cmo" already seen in
  [ "b.cmo"; "project.cmo" ]

There clearly aren't any circular dependencies, are there? Am I missing something?
The problem goes away if I export B instead of C. So the troublemaker seems to be the include directive.

I almost forgot: I am using ocaml 3.10.2 from godi.

Johannes

--
Johannes Kanig
johannes.kanig@lri.fr