-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
[BUG] GLIBC 2.27 not working with z3 4.8.12 #1006
Comments
@shonfeder any ideas on what shall we do? |
@rodrigo7491 and I helped root cause this together. It's just due to current architecture per-requisites from Z3, so the only things we can do on our end, afailk, are
I guess we could also considering developing infrastructure to support older architecture in parallel, but I don't think this fits with our current priorities? For now, Rodrigo is trying to update his distro (the latest uses the required glibc version). I think he will report his results here. If he cannot update without a huge pain, I think plan b is to revert #999 for now. Tho we could also invest in documenting and setting up a docker-based development workflow. |
Is there a way to check that the glibc dependency is present in |
I guess, this is not an issue for people using docker, right? |
To be clear: this is about the kernel version Linux users are using. Mint 19 (the previous major LTS version) uses an old GLIBC in their kernel. What kind of result would you be interested in from checking the glibc dependency? |
Right, this is not effecting our docker containers: all our CI is passing, so it's not a problem for the latest ubuntu versions, macos, or our docker containers. It will effect any linux users who are using kernel's tied to old version of GLIBC. If we want to anticipate error handling of unsatisified Z3 system requirements, we might try catching the exceptions raised. E.g,, I think Rodrigo was hitting this when running the tests:
|
Just tell the users that apalache uses the newer version of glibc and they should update? |
Maybe that's worth doing if @rodrigo7491 hasn't updated his system and wants to use the problem to add error handling of this sort? |
I guess this issue is not critical. But it would be good to have a plan for treating problems like that in the future. |
Thinking about this more, I think I'm against adding any code to try to check for the transitive system dependencies:
What do you think? |
Also: worth noting that the purpose of opening this issue is to document the problem so anyone who hits in the future will be able to quickly find the fix :) |
That makes sense. I agree that people who build the project from sources are ready to address issues like that. Perhaps, this issue serves as a documentation, and somebody who is looking for a bug will find the explanation here. Do we need a special label for issues like that? |
How 'bout them labels? |
Looks fine. It's true that we don't want to fix that :)) |
Hmm, so one thing we probably should do is make sure that exceptions that come from the underlying Z3 library get clear user errors indicating that source of the problem. I'll ad this to the issue around better errors. |
I updated my OS to Mint 20, which has GLIBC 2.31, and that solved the problem. Regarding the discussion of per-requisites, I agree that people that build from source can deal with issues such as this, but the problem in my opinion is that since z3 is not manually installed, nor mentioned in the build instructions, it might not be obvious which dependencies are needed. |
I don't know where is a good place to record such information, or how we'll keep it up to date. If anyone any has ideas, a PR into the relevant documentation would be great. |
Description
The newest version of z3, see #999, requires GLIBC 2.29. This dependency is not updated automatically, if an older version is present, z3, and by extension apalache, won't work. To check GLIBC version on Linux, run
ldd --version
.System information
apalache-mc version
]: 0.16.3-SNAPSHOT build v0.16.2-23-gfffe3b4-dirtyThe text was updated successfully, but these errors were encountered: