tamatebako/tebako

Support older glibc versions even when built using newer ones

Closed this issue · 2 comments

From @maxirmx:

A binary built on Ubuntu 20.04 will not work on a vanilla Ubuntu 18.04 right now.

The status today is as follows:

  • A binary built on Ubuntu 18.04 will work on Ubuntu 20.04. It is tested now but I use GHA images. I can probably deploy clean Ubuntu container to make it "more vanilla".

  • However, a binary built on Ubuntu 20.04 WILL NOT WORK on Ubuntu 18.04 since I am linking shared glibc as ruby-packer does. There are some options to make 20.04 image work on 18.04 if we need it.

Overview:

From: https://github.com/wheybags/glibc_version_header

Screenshot 2021-12-16 at 5 14 03 PM

We probably want to support CentOS >= 7 so we will need to tag that version if we use glibc_version_header.

Originally posted by @maxirmx in metanorma/packed-mn#126 (comment)

Wow an issue from 2021! Finally time to get this done 😜

The approach proposed in this issue was based on my wrong understanding of the root cause.
It works the other way round, it is possible to support newer glibc versions if build on older ones with some limitations caused by private ABI. In metanorma we had package built on Ubuntu 18 that was compatible with Ubuntu 20.

I am closing this issue in favour of #196