Closed djs55 closed 11 years ago
ah yes good catch. unfortunately i forgot this case, and internal libraries are under the same assumption as system libraries (i.e. they don't change, and if they do you need to re-configure your project). It's of course very wrong for internal libraries, I'll try to put a simple fix (invalidating all the .cmx, .cmo if internal libs changes, forcing the recompilation of the target that use it). Later on, I'll fix it properly so that only the module that depends on the lib (either directly or indirectly) will be recompiled.
as a quick workaround, you can either obuild configure et do a full rebuild, or do a rm dist/build/messages/*.{cmx,cmo,cmi}
The full rebuild workaround is fine for me -- there's so little code in the tree so far it takes no time at all! :-)
On Sat, Jan 26, 2013 at 1:12 PM, Vincent Hanquez notifications@github.comwrote:
as a quick workaround, you can either obuild configure et do a full rebuild, or do a rm dist/build/messages/*.{cmx,cmo,cmi}
— Reply to this email directly or view it on GitHubhttps://github.com/vincenthz/obuild/issues/4#issuecomment-12735155.
Dave Scott
In djs55/ocaml-qmp I have:
I edited lib/qmp.ml and got:
It looks like the client of the library needed to be recompiled when the library changed. I don't have an .mli yet (maybe this would have avoided the problem)
Here's some of the debug output:
js/.opam/4.00.1/lib/yojson -I dist/build/lib-qmp -I /home/djs/.opam/4.00.1/lib/ocaml -I /home/djs/.opam/4.00.1/lib/oUnit easy_format.cmx biniou.cmxa yojson.cmx qmp.cmxa unix.cmxa oUnit.cmxa -cc lib -Ldist/build/lib-qmp messages.cmx File "none", line 1: Error: Files dist/build/messages/messages.cmx and dist/build/lib-qmp/qmp.cmxa make inconsistent assumptions over interface Qmp