Description
There seems to be a regression between UEK 5.4.17-2136.304.4.5 and the previous 5.4.17-2102.201.3 version on OL7 with regards to running third-party binaries that are linked against different glibc versions than the one included in the OS.
After updating to this version, running certain binaries fails with a cannot execute binary file
error. I was able to reproduce this with the binary tarball distribution of Percona Server for MySQL, as well as a snap install of MicroK8S (as reported on the K8S forum).
I initially reported this issue here, but wanted to make sure this is getting sufficient visibility. Here's a quick example on how to reproduce this:
Boot OL7 using linux-uek-5.4.17-2102.201.3
, download Percona Server for MySQL and note that the mysql
binary works as expected:
[vagrant@localhost ~]$ cat /etc/oracle-release
Oracle Linux Server release 7.9
[vagrant@localhost ~]$ uname -r
5.4.17-2102.201.3.el7uek.x86_64
[vagrant@localhost ~]$ wget -q https://downloads.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.36-39/binary/tarball/Percona-Server-5.7.36-39-Linux.x86_64.glibc2.12.tar.gz.sha256sum
[vagrant@localhost ~]$ wget -q https://downloads.percona.com/downloads/Percona-Server-5.7/Percona-Server-5.7.36-39/binary/tarball/Percona-Server-5.7.36-39-Linux.x86_64.glibc2.12.tar.gz
[vagrant@localhost ~]$ sha256sum -c Percona-Server-5.7.36-39-Linux.x86_64.glibc2.12.tar.gz.sha256sum
Percona-Server-5.7.36-39-Linux.x86_64.glibc2.12.tar.gz: OK
[vagrant@localhost ~]$ tar xf Percona-Server-5.7.36-39-Linux.x86_64.glibc2.12.tar.gz
[vagrant@localhost ~]$ ./Percona-Server-5.7.36-39-Linux.x86_64.glibc2.12/bin/mysql --version
./Percona-Server-5.7.36-39-Linux.x86_64.glibc2.12/bin/mysql Ver 14.14 Distrib 5.7.36-39, for Linux (x86_64) using 6.0
Now perform a yum update
and reboot into the 5.4.17-2136.304.4.5 kernel:
[vagrant@localhost ~]$ uname -r
5.4.17-2136.304.4.5.el7uek.x86_64
[vagrant@localhost ~]$ ./Percona-Server-5.7.36-39-Linux.x86_64.glibc2.12/bin/mysql --version
-bash: ./Percona-Server-5.7.36-39-Linux.x86_64.glibc2.12/bin/mysql: cannot execute binary file
Note that this error only seems to occur with third-party binaries that are linked against a different glibc version (as it's the case for the Percona Server binary and the MicroK8S snap). The rest of the OS seems to be working fine.