-
Notifications
You must be signed in to change notification settings - Fork 17
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
why does metalib need coq 8.15 and how to fix it so that it compatible with proverbot9001 -- do we need coq-8.10 really? #82
Comments
Well, you're building metalib from source, so if you use the latest commit, it's going to try to pull in a recent version of Coq. What you really want to do is check out an older commit of metalib that's compatible with the Coq version you want to use. As far as I can tell this commit: plclub/metalib@104fd9e should do the trick; it's just before the adding of Now, even once you do that, it might need dependencies to build that don't have compatible opam versions, so you would have to switch them to git recursively. The script you're showing doesn't seem like it'll work for packages that depend on metalib. Because you're installing metalib (the deps/metalib version in this case) on Coq8.15, projects that aren't on Coq8.15 won't be able to use it as a dependency. You need to install it in deps/ with the version of Coq the projects that depend on it are going to use. |
@HazardousPeach ok I think I got the gist. We need to install the right version of the deps that will work when we try to build the coq-projs/pkgs we git subomulded into coq-projec when we run Therefore in general something like this might work (assuming the right commit & opam switch):
but for metalib specifically what worries me is that proverbot seems to have a dependency installation from source to it. So even if the above worked how do I make the rest of the stuff dependent on metalib work if I installed it with opam? |
sad the above seemed to have failed:
|
What I'm still confused is if metalib needs to be installed from source or an opam install will be sufficient. The confusion is caused by these two lines in the .gitsubomdules file:
and
|
ok I think at least the opam pin I just did is working:
|
for the coq-projects & deps I hope the url I provided for the pin also works. Will report commands. |
To address this issue I was trying to git init the submodule with the commit I know works, but the git submodule command doesn't work as I'd expect:
It's the wrong commit -- even though the .gitmodules file show the expected url. Will just manually cd and change the commit. |
ok this seemed to work:
output:
now lets do deps |
deps install seemed to work:
output:
|
Finally the opam pin at the end:
seems to have worked |
to make it more organized and hopefully no one has to read the above, the solution will be documented and confirmed here: #86 |
related: #86 |
old issue: #59 |
related to #78 I am trying to understand if the reason I needed to create a coq 8.15 opam switch was due to
which one is it?
For further context this is the cmd that seems to work right now:
freeze a deps chain in opam: https://stackoverflow.com/questions/75452407/how-does-one-pin-freeze-a-version-of-the-dependencies-of-an-opam-project-package#75453430
The text was updated successfully, but these errors were encountered: