Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Inconsistent assumptions over interface Options" when compiling other projects #37

Closed
Niols opened this issue Aug 10, 2018 · 2 comments

Comments

@Niols
Copy link
Member

Niols commented Aug 10, 2018

Compiling an other project (in this case, shstats) that also has an Options module leads to an error:

Error: The files /path/to/libmorbig/libmorbig.cmi
       and options.cmi make inconsistent assumptions over interface Options

This has not always been the case. I bisected this bug and found out that the last known good commit was 245208c and that the first bad commit is 0ca98a7. Sadly, there are two commits in between that do not compile, and 0ca98a7 is a very large commit, making it hard to find what went wrong.

I did not understand quite well what is causing the issue in shstats, and I didn't manage to produce a minimal example (although I'm still working on it). But it probably should not happen in any way in my opinion.

I will try to find more information about that and I keep you posted.

@Niols
Copy link
Member Author

Niols commented Aug 10, 2018

Nevermind, I found a minimal example: https://gist.github.com/Niols/9cea702c451d108b9bef5c535061b156

Using both the local Options module and anything in Libmorbig (even a type in Libmorbig.CST, as in the example) makes ocamlfind complain. I probably has to do with the way Libmorbig exports its submodules. I guess it makes the name "Options" available to anyone, which then clashes with the local module. (I wish we were using Dune.)

@yurug
Copy link
Contributor

yurug commented Aug 18, 2018

Fixed by 49f12e5...

@yurug yurug closed this as completed Aug 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants