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
Discuss loading of Z3 binary #87
Comments
Actually this never made sense to me, either, but I haven't tested it on Windows, so I don't know. @stahlbauer Any comments? I think you originally wrote this code, and you did have working Z3 under Windows at some stage. |
We need some special handling for Windows, because on Linux when you load the library |
@PhilippWendler If we ask user to move the |
I fear that renaming is error prone because it can be easily forgotten. E.g., when you want to update your existing Z3 version and just move the files without renaming, it will silently continue to use the old version. |
OK great thank you for fixing this! Does it mean we are fine under Windows now? |
Yes, I just got final confirmation that it works, even with old Z3 release 4.4.1. |
The code that currently loads the Z3 binary in
Z3SolverContext
isThis raises several questions:
z3
andz3java
on Windows, too? Shouldn't this be an if-else construct?(lib)z3java
? TheNative
class does it anyway (though it might be easier to understand if we do it, too?).Native
class attempts to loadz3java
and on failure loadslibz3java
, we try to guess the OS instead of using a fallback. Both approaches have their advantages. Should we change to a fallback?While we are at it, the code should get comments about why we load
(lib)z3
explicitly, and why the name is different on Windows.The text was updated successfully, but these errors were encountered: