-
Notifications
You must be signed in to change notification settings - Fork 48
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
Update CVC5 to 1.2.X #454
base: master
Are you sure you want to change the base?
Update CVC5 to 1.2.X #454
Conversation
@kfriedberger: Could you have a look at the last commit that adds multi-arch support? I've tried it for arm64 with qemu, but I don't have a windows machine to test the binaries. (You'll have to use the repository from the CVC5 pull request here if you want to build the binaries yourself) |
The missing pull request for CVC5 has now been merged and we can build from |
…. See cvc5/cvc5#10426 for the interface. This will solve issue #310.
…ral new library dependencies with patchelf.
…est. The issue seems to have been fixed.
…t to an outdated error message.
…hat were not statically linked
…ponent and significand
…5SolverContext is actually used
We compile for linux on x64 and arm64 and windows on x64 only. CVC5 is also available on MacOS, but there doesn't seem to be a simple way to cross compile. The same is true for windows on arm64.
16fdcb2
to
2abc14d
Compare
This reverts commit 458b8f1 and blacklists one more test. CVC5 still crashes when formulas are shared across multiple threads. Remember to reapply this commit once the issue has been solved upstream.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On first look, this is an impressive PR, and it looks quite good:
- version update of CVC5 ✔️
- arm64-support for CVC5 ✔️
- x64-support for WIndows ❔ (does not yet work)
I will test compilation and different OS soon.
The proof generation/traversal API has changed compared to older versions. Do we include the new API and maybe even a native test for it? If not, can we add that in this PR? It would be helpful for @gcarpio21 s proof interface. |
We compile the "full" API of CVC5, including all new features. I assume that the API changes from your comment refer to plain Java API. This should be done outside of this PR, as it might be independent of native code and low-level bindings. A separate PR would also allow to integrate this PR here soonish, and work on proofs later. |
For the purposes of correctly retrieving proofs from CVC5 I have written a test in the |
If there is just one additional test, then feel free to add it within this PR. |
Update for the Windows build artifact: Alternative (maybe future work, not part of this PR): |
Hello everyone,
this PR will update CVC5 to the latest version and rewrites the solver backend to use the new
TermManager
interface. It also changes the build process so that only a single library is produced and all dependencies are statically linked. In addition we added multi-arch support for linux on arm64 and windows on x64.There were some issues in CVC5 that had to be fixed and we're still waiting on cvc5/cvc5#11730 before this can be merged.