pbp
pbp

Reputation: 1481

Inconsistent assumptions over interface (Ocaml)

I suddenly started to get this error. I don't know how to diagnose or fix it. Am I supposed to grep through bar.ml and check every Big_int function against signature in Big_int.mli?

File "foo.ml", line 1, characters 0-1:
Error: The files /home/bar.cmi
       and /usr/lib/ocaml/big_int.cmi make inconsistent assumptions
       over interface Big_int

Upvotes: 23

Views: 9446

Answers (2)

Talya
Talya

Reputation: 19357

rm bar.cmi and try again; it looks like it was generated against a different version of Big_int.

Upvotes: 5

Jeffrey Scofield
Jeffrey Scofield

Reputation: 66823

Generally this message means that one .mli file has been recompiled recently but not the other. Since one of the .mli files is in your OCaml library, it might mean that you've upgraded your OCaml installation but haven't recompiled bar.mli since then.

What happens if you just recompile bar.mli?

Upvotes: 25

Related Questions