Mongod Percona private libs vs. system installed

I have an installation of percona-server-mongodb-4.4.1-3-x86_64.glibc2.17.tar.gz on RHEL7 and problems with SASL authentication to Active Directory. I noticed that the server comes with a set of private libs that partially seems to conflict with system libs. How is this meant to resolve correctly ? Please see below output of ldd.

For example note how libgssapi_krb5.so is resolved to a private lib while libgssapi_krb5.so.2 resolved to a system lib.

There are more examples in the output. Is this designed to resolve like this ??

Regards

Nils

sh-4.2$ ldd $(which mongod)

   linux-vdso.so.1 => (0x00007fff1e5de000)

   libcurl.so.4 => /lib64/libcurl.so.4 (0x00007fd05940c000)

   liblzma.so => /opt/mongodb/bin/../lib/private/liblzma.so (0x00007fd0591e4000)

   libgssapi_krb5.so => /opt/mongodb/bin/../lib/private/libgssapi_krb5.so (0x00007fd058f88000)

   libsasl2.so => /opt/mongodb/bin/../lib/private/libsasl2.so (0x00007fd058d63000)

   libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007fd058b0e000)

   liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007fd0588ff000)

   libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fd0586e5000)

   libcrypto.so => /opt/mongodb/bin/../lib/private/libcrypto.so (0x00007fd05824f000)

   libssl.so => /opt/mongodb/bin/../lib/private/libssl.so (0x00007fd057fbd000)

   libdl.so.2 => /lib64/libdl.so.2 (0x00007fd057db9000)

   librt.so.1 => /lib64/librt.so.1 (0x00007fd057bb1000)

   libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fd0578aa000)

   libm.so.6 => /lib64/libm.so.6 (0x00007fd0575a8000)

   libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd057392000)

   libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd057176000)

    libc.so.6 => /lib64/libc.so.6 (0x00007fd056da8000)

    /lib64/ld-linux-x86-64.so.2 (0x00007fd0614ba000)

   libidn.so.11 => /lib64/libidn.so.11 (0x00007fd056b75000)

   libssh2.so.1 => /lib64/libssh2.so.1 (0x00007fd056948000)

   libssl3.so => /lib64/libssl3.so (0x00007fd0566ef000)

   libsmime3.so => /lib64/libsmime3.so (0x00007fd0564c7000)

   libnss3.so => /lib64/libnss3.so (0x00007fd056198000)

   libnssutil3.so => /lib64/libnssutil3.so (0x00007fd055f68000)

   libplds4.so => /lib64/libplds4.so (0x00007fd055d64000)

   libplc4.so => /lib64/libplc4.so (0x00007fd055b5f000)

    libnspr4.so => /lib64/libnspr4.so (0x00007fd055921000)

   libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007fd0556d4000)

   libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007fd0553eb000)

   libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007fd0551b8000)

   libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fd054fb4000)

   libz.so.1 => /lib64/libz.so.1 (0x00007fd054d9e000)

   libkrb5.so => /opt/mongodb/bin/../lib/private/libkrb5.so (0x00007fd054a9f000)

   libk5crypto.so => /opt/mongodb/bin/../lib/private/libk5crypto.so (0x00007fd054869000)

    libkrb5support.so => /opt/mongodb/bin/../lib/private/libkrb5support.so (0x00007fd054657000)

   libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fd054453000)

   libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fd05421c000)

   libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007fd053fff000)

   libssl.so.10 => /lib64/libssl.so.10 (0x00007fd053d8d000)

   libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fd05392a000)

   libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007fd05371a000)

   libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fd0534f3000)

   libfreebl3.so => /lib64/libfreebl3.so (0x00007fd0532f0000)

   libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fd05308e000)

sh-4.2$ ls -la /opt/mongodb/bin/…/lib/private

total 7840

drwxrwxr-x. 2 root root 4096 Oct 7 21:29 .

drwxrwxr-x. 3 root root 21 Oct 26 08:25 …

lrwxrwxrwx. 1 root root 19 Oct 7 21:29 libcrypto.so → libcrypto.so.1.0.2k

-rwxrwxr-x. 1 root root 2729920 Oct 7 21:29 libcrypto.so.1.0.2k

lrwxrwxrwx. 1 root root 21 Oct 7 21:29 libgssapi_krb5.so → libgssapi_krb5.so.2.2

-rwxrwxr-x. 1 root root 381976 Oct 7 21:29 libgssapi_krb5.so.2.2

lrwxrwxrwx. 1 root root 17 Oct 7 21:29 libidn.so → libidn.so.11.6.11

-rwxrwxr-x. 1 root root 219480 Oct 7 21:29 libidn.so.11.6.11

lrwxrwxrwx. 1 root root 18 Oct 7 21:29 libk5crypto.so → libk5crypto.so.3.1

-rwxrwxr-x. 1 root root 224000 Oct 7 21:29 libk5crypto.so.3.1

lrwxrwxrwx. 1 root root 14 Oct 7 21:29 libkrb5.so → libkrb5.so.3.3

-rwxrwxr-x. 1 root root 1059824 Oct 7 21:29 libkrb5.so.3.3

lrwxrwxrwx. 1 root root 21 Oct 7 21:29 libkrb5support.so → libkrb5support.so.0.1

-rwxrwxr-x. 1 root root 77392 Oct 7 21:29 libkrb5support.so.0.1

lrwxrwxrwx. 1 root root 16 Oct 7 21:29 liblzma.so → liblzma.so.5.2.2

-rwxrwxr-x. 1 root root 167112 Oct 7 21:29 liblzma.so.5.2.2

-rwxrwxr-x. 1 root root 266632 Oct 7 21:29 libnspr4.so

-rwxrwxr-x. 1 root root 1294760 Oct 7 21:29 libnss3.so

-rwxrwxr-x. 1 root root 210080 Oct 7 21:29 libnssutil3.so

-rwxrwxr-x. 1 root root 22264 Oct 7 21:29 libplc4.so

-rwxrwxr-x. 1 root root 17952 Oct 7 21:29 libplds4.so

lrwxrwxrwx. 1 root root 17 Oct 7 21:29 libsasl2.so → libsasl2.so.3.0.0

-rwxrwxr-x. 1 root root 155120 Oct 7 21:29 libsasl2.so.3.0.0

-rwxrwxr-x. 1 root root 184288 Oct 7 21:29 libsmime3.so

lrwxrwxrwx. 1 root root 16 Oct 7 21:29 libssl.so → libssl.so.1.0.2k

-rwxrwxr-x. 1 root root 601384 Oct 7 21:29 libssl.so.1.0.2k

-rwxrwxr-x. 1 root root 381872 Oct 7 21:29 libssl3.so

1 Like

hi @Nils

Yes binary tarballs are provided with a bunch of libs. There should not be conflict with currently installed system libs and libs provided with binary tarball.

If you have any specific issues connected with this setup please I would suggest creating ticket here https://jira.percona.com/projects/PSMDB with detailed explanation what issue do you have, what OS do you use and some logs which can help us during investigation.

Thank you.

1 Like