-
Notifications
You must be signed in to change notification settings - Fork 21
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
qi v3.4 not working on ubuntu 20.04 #43
Comments
For a statically compiled application like QUIT, GLIBC is the fundamental thing that determines backwards compatibility on Linux, and the GLIBC version is determined by the system you compile on. Binaries compiled with an older GLIBC will work on newer systems, but not vice versa. The Linux binaries are built using the Github CI. Until a year ago this used Ubuntu 16.04, which had an ancient GLIBC version. Github deprecated the 16.04 machines, so I had to upgrade. For some reason I jumped to 22.04 and not 20.04. I can't remember exactly why I skipped over 20.04 but it may have been whether GCC 11 was available in the 20.04 image at the time. I can look at rolling back the CI to 20.04 but would have to play shenanigans with git tags to recompile v3.4, so this would likely only affect v3.5, which I didn't have plans to roll any time soon. I'm happy to review that decision if this is problematic for more people. Let me know whether you manage to build it yourself using |
What about trying to build a musl static binary? https://medium.com/@neunhoef/static-binaries-for-a-c-application-f7c76f8041cf |
I have looked at musl and it is very tempting. However, my one attempt at using it was not successful. My memory is that you essentially have to build on Alpine Linux, and then getting vcpkg to build the dependencies was a nightmare. If someone has the time to investigate further, as always, I am happy to look at PRs. But the path of least resistance for me is going back to Ubuntu 20.04 for v3.5. Tagging a release isn't a big deal, so perhaps I should do that with the repo as is. |
20.04 went out of support March 23, 2023, FYI. Something to consider is what the support policy will be for old systems. |
The support policy is currently the pragmatic option of "What is the oldest version of GLIBC available in the Github CI". Which I kind of broke by going all the way to 22.04 and why I'm happy to revert back to 20.04 (provided that GCC 11 is available there now, I suspect it is). |
Hello again. Thank you for the reply (and sorry for my super late reply). Looks like ubuntu 20.04.02 runs gcc 9.4.0. So maybe that is why you skipped it. I did a pull request updating the README with the ubuntu version used for compiling the executable. Same PR changes build.h to buildstrap.h in the documentation. |
Hello!
First of all thank you for developing qi. Very handy tool!
I wan't able to run qi on a machine with ubutnu 20.04. Got the following error:
qi: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32 not found (required by qi)
I checked glib version on the machine with
ldd --version
and it has GLIBL 2.31. I guess thats the reason but I saw in the README file to contact you if qi wasn't working on a linux distribution. Se here it goes!qi v3.3 works on ubuntu 20.04 without problems.
Additional note: I want to try compiling qi by myself but couldn't find the
build.sh
mentioned in the developers documentation :SGood day!
The text was updated successfully, but these errors were encountered: