I am testing a Linux-PAM installation with this test program. When the pam_ldap.so module is called, the test program application fails with a segmentation error. Looking at the /var/log/messages, I can red the following error message:
petalinux authpriv.err pam_test: PAM unable to dlopen(/usr/lib/security/pam_ldap.so): /lib/libc.so.6: version `GLIBC_2.28' not found (required by /usr/lib/libldap-2.4.so.2)
petalinux authpriv.err pam_test: PAM adding faulty module: /usr/lib/security/pam_ldap.so
The system is an embedded Linux running on a Zynq processor. Can anyone help me understand the source of the problem? Thank you.
Can anyone help me understand the source of the problem?
You linked libldap-2.4.so.2
against GLIBC-2.28 (or later).
But at runtime, the version of GLIBC is 2.27 (or earlier).
GLIBC supports backward compatibility (binaries built against earlier version of GLIBC continue to run on systems with newer GLIBC versions).
But it doesn't support "build on newer, run on older" compatibility.