Skip to content
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

Installing old (<=13) pre-packaged binaries fails on old OSes #163

Open
Ngalstyan4 opened this issue Sep 19, 2023 · 3 comments
Open

Installing old (<=13) pre-packaged binaries fails on old OSes #163

Ngalstyan4 opened this issue Sep 19, 2023 · 3 comments
Assignees

Comments

@Ngalstyan4
Copy link
Contributor

I think we compile and package all binary release binaries on ubuntu22, with corresponding glibc version.

However, older systems have older libc and CREATE EXTENSION lantern on those systems fails with the following message:

ERROR:  could not load library "/usr/lib/postgresql/13/lib/lantern.so": /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/lib/postgresql/13/lib/lantern.so)

All works well when compiled from source on these systems since the correct libc dependency is used.

@var77, thoughts on solutions?

Are libc versions backward compatible or do they require exact match? if they are backward compatible, we could use an old machine for compiling the binaries.

@var77
Copy link
Collaborator

var77 commented Sep 20, 2023

Need to do some research about this and get back with results. I will try to build the binary with older libc and see if it works.

@saidinesh5
Copy link

The way we worked around this issue with AppImages is to build the binaries on the oldest supported LTS Ubuntu image: https://docs.appimage.org/introduction/concepts.html#build-on-old-systems-run-on-newer-systems

So something like Ubuntu 16.04 will work until 2024. Since you seem to be building using github actions, you could use a custom built container with all your dependencies for building the release artifacts. This should also be safer when the older repos randomly start 404ing on dependencies.

Glibc is usually backwards compatible well enough that we haven't faced any issues with this rule: https://developers.redhat.com/blog/2019/08/01/how-the-gnu-c-library-handles-backward-compatibility

@var77
Copy link
Collaborator

var77 commented Sep 21, 2023

Thank you for the references @saidinesh5 ! Will probably go with building inside container on Github Actions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants