You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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
The text was updated successfully, but these errors were encountered:
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.
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):The text was updated successfully, but these errors were encountered: