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

Reduce Teleport's glibc version requirements #5338

Closed
webvictim opened this issue Jan 18, 2021 · 3 comments
Closed

Reduce Teleport's glibc version requirements #5338

webvictim opened this issue Jan 18, 2021 · 3 comments
Labels
c-fw Internal Customer Reference c-sn Internal Customer Reference release-engineering

Comments

@webvictim
Copy link
Contributor

Using Ubuntu 18.04 as our buildbox base image means that binaries created by Drone have a minimum glibc version of 2.27. We should build our binaries in a buildbox with a lower glibc version to make them more compatible with older distributions.

Originally posted by @webvictim in #4754 (comment):

Statically-compiled binaries would fix this (#4896) but are untested and have historically introduced a number of other issues with unpredictable DNS resolution when running in Docker/Kubernetes.

One workaround for this which would prevent huge fragmentation of our build matrix while also not needing us to switch to statically-compiled binaries may be to just change the Teleport buildbox to always bootstrap and build Go from source in a container which uses an older glibc version; we do this already for CentOS 6 binaries. We could use CentOS 7 which would give us glibc 2.18.

Here's the list of required glibc versions that I know of so far (run ldd --version to see the required glibc version for a given distro):

Distro glibc version
CentOS 6 2.12
CentOS 7 2.18
CentOS 8 2.28
Ubuntu 18.04 2.27
Ubuntu 18.10 2.28
Ubuntu 20.04 2.31
Ubuntu 20.10 2.32
Fedora 32 2.31
Synology DSM 6.2.3 2.20
Amazon Linux 2 2.26
NVIDIA Jetson AGX 2.27
@russjones russjones added this to the Q1 2021 Release Engineering milestone Jan 20, 2021
@webvictim webvictim added the c-sn Internal Customer Reference label Feb 9, 2021
@webvictim webvictim changed the title Switch Teleport buildbox base image to CentOS 7 Reduce Teleport's glibc version requirements Mar 1, 2021
@pschisa pschisa added the c-fw Internal Customer Reference label Aug 19, 2021
@zmb3
Copy link
Collaborator

zmb3 commented May 3, 2022

We should get back down to GLIBC 2.18 when @LKozlowski's rustls changes are finalized, which turns out to be good enough since we no longer support CentOS 6.

@webvictim
Copy link
Contributor Author

This is fantastic - back to one RPM/package for all :)

@jakule
Copy link
Contributor

jakule commented Jul 16, 2022

I think this issue can be closed as we switched our buildbox to CentOS 7 #14062

@zmb3 zmb3 closed this as completed Jul 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-fw Internal Customer Reference c-sn Internal Customer Reference release-engineering
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants