Thanks for the suggestion. You're probably right, and so it is Eliom specific. However, the error message is confusing. The file _server/foo.cmi is generated. Regardless of what else I'm doing wrong, how could this single cmi file make inconsistent assumptions with another cmi in the eliom library.


On Mon, Apr 27, 2015 at 10:53 AM, Drup <drupyog+caml@zoho.com> wrote:
According to the message, my guess is that you are trying to link a server file with a client library while having compiled it with the server library.
Since client and server libraries don't have the same type, they disagree over the interface.

My wild guess would be that your build script is broken.


Le 27/04/2015 16:39, Ashish Agarwal a écrit :
The error "inconsistent assumptions over interface" has always been due to a build artifact not being updated after upgrading some library. Rebuilding one's files from scratch always solves the problem. However, I'm in a situation where I've recompiled everything from scratch many times, but I reproducibly get the error below. Does anyone know what else I should look for?

It's Eliom related, though I don't know why that would matter.

# Error: The files ~/.opam/4.02.1/lib/eliom/client/eliom_pervasives.cmi
#        and ../_server/foo.cmi make inconsistent assumptions
#        over interface Eliommod_parameters
# *** omake: targets were not rebuilt because of errors:
#    _build/lib/_client/foo.cmi
#       depends on: _build/lib/foo.eliom
#    _build/lib/_client/foo.cmo
#       depends on: _build/lib/foo.eliom