Building OSS Teleport from source to work around glibc version requirements #5785
Replies: 4 comments 1 reply
-
Tried to do this so I can install on CentOS 7, but it won't compile. I have go (verified by compiling and running hello world program) and the other dependencies. This is a new build of Centos 7 with nothing else on it, and I checkout v8.0.0 (I also tried v7.0.0 and 5.1.2 to check) : [root@localhost teleport]# make release |
Beta Was this translation helpful? Give feedback.
-
I realise this doesn't answer your question directly, but you can run the pre-compiled CentOS 6 binaries on CentOS 7 without issue: https://get.gravitational.com/teleport-v8.0.0-linux-amd64-centos6-bin.tar.gz for 8.0.0 for example. You can get other versions at https://goteleport.com/teleport/download/ |
Beta Was this translation helpful? Give feedback.
-
Ok I got it to run. There is an additional dependency. I didn't figure out what it is, I just add the development tools group: Thanks for the help. |
Beta Was this translation helpful? Give feedback.
-
This way also works for building packages for old Debian systems. Tested on Debian 7, 8 and 9. On Debian 7 and Debian 8 you must update binutils first, because an ld errors. See below for the script that can be running inside docker container based on debain:7 image.
|
Beta Was this translation helpful? Give feedback.
-
If you're experiencing an error like
teleport: /lib/libc.so.6: version 'GLIBC_2.28' not found (required by teleport)
when trying to run Teleport, this means that your running distro does not provide a high enough version of glibc for the pre-compiled Teleport binaries to run. This is often the case with older distros like CentOS 6/7.We have an open issue to look at reducing the version of glibc required for pre-compiled Teleport binaries, but in the meantime, to work around this issue, you could always look at compiling the open source version of Teleport yourself from source. This compiled version of Teleport will require the same version of glibc that your running distro does - you can see this version using
ldd --version
. It will also work on the same architecture that the running distro uses, so if you requirearm
orarm64
binaries, make sure to compile on a machine which also uses this architecture.To compile Teleport, you'll need Go 1.15+ installed and available in your PATH, as well as
gcc
,make
andzip
. You can install these tools using package management:CentOS/Fedora/RHEL:
sudo yum -y install gcc make zip
Ubuntu/Debian:
sudo apt-get -y install gcc make zip
Once these tools are installed, you can compile Teleport using these instructions:
This will place a
.tar.gz
file in the localteleport
directory, for exampleteleport-v5.1.2-linux-amd64-bin.tar.gz
.Other notes:
Beta Was this translation helpful? Give feedback.
All reactions