Skip to Content.
Sympa Menu

caml-list - [Caml-list] inconsistent assumptions over implementation Printf

caml-list AT inria.fr

Subject: Caml users' mailing list

List archive

[Caml-list] inconsistent assumptions over implementation Printf


Chronological Thread 
  • From: "Richard W.M. Jones" <rich AT annexia.org>
  • To: caml-list AT inria.fr
  • Subject: [Caml-list] inconsistent assumptions over implementation Printf
  • Date: Tue, 23 Jun 2015 20:52:54 +0100

This seems like a rather basic question, but here goes.

For a long time in Fedora we've used RPM dependencies to enforce that
the "inconsistent assumptions" error does not occur for end users.
This means encoding the OCaml version + MD5 hash of each interface.
For example:

$ rpm -q --provides ocaml-runtime
...
ocaml(Printf) = eb49a17645c5ea2dd298430a3c986186
...
ocaml(runtime) = 4.02.2

With the move from 4.02.2+rc1 to 4.02.2 final, we've suddenly started
to see:

Error: Files /usr/lib64/ocaml/gettext/gettextBase.cmxa
and /usr/lib64/ocaml/stdlib.cmxa
make inconsistent assumptions over implementation Printf

The ocaml(runtime) version string didn't change, so we're relying
solely on the ocaml(Printf) dependency to prevent this. According to
my understanding the above error "cannot" happen, not least because
Printf didn't change its interface between -rc1 and final.

ocamlobjinfo from the relevant libraries:

http://oirase.annexia.org/tmp/stdlib.cmxa.txt
http://oirase.annexia.org/tmp/gettextBase.cmxa.txt

Can someone explain where my understanding is wrong?

Also - could we *please* make the error message more explanatory.
Printing out the mismatching MD5 hashes would be a good start.

Thanks,

Rich.

--
Richard Jones
Red Hat



Archive powered by MHonArc 2.6.18.

Top of Page