On Oracle Linux 8.6 I have linkage runtime issue with library called rocksaw, despite I built it on the same machine
[root@localhost lib]# ldd librocksaw.so
./librocksaw.so: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./librocksaw.so)
linux-vdso.so.1 (0x00007ffd686b5000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4522793000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4522b58000)
I looked into it by grep -a GLIBC librocksaw
and found multiple GLIBC versions.
strerror@GLIBC_2.2.5
pthread_cancel@GLIBC_2.34
Java_com_savarese_rocksaw_net_RawSocket__1_1recvfrom1pthread_mutex_init@GLIBC_2.2.5
__cxa_finalize@GLIBC_2.2.5
_ZN7JNIEnv_16CallObjectMethodEP8_jobjectP10_jmethodIDz__vsprintf_chk@GLIBC_2.3.4
pthread_mutex_lock@GLIBC_2.2.5g
etRtt__sprintf_chk@GLIBC_2.3.4
socket@GLIBC_2.2.5
On the machine only one GLIBC is installed
[root@localhost lib]# ldd --version
ldd (GNU libc) 2.28
Compiler version
[root@localhost ~]# gcc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18.0.2)
Copyright (C) 2018 Free Software Foundation, Inc.
Someone could explain why this happens?