Plesk is not accessible: libpopt.so.0: cannot open shared object file

Refers to:

  • Plesk 11.0 for Linux

Created:

2016-11-16 13:11:24 UTC

Modified:

2016-12-21 20:09:04 UTC

0

Was this article helpful?


Have more questions?

Submit a request

Plesk is not accessible: libpopt.so.0: cannot open shared object file

Symptoms

Plesk is not accessible with error:

ERROR: Service_Agent_ExceptionUnable to read components configuration from the service node: /usr/local/psa/admin/bin/packagemng: error while loading shared libraries: libpopt.so.0: cannot open shared object file: No such file or directory

All websites are showing Apache default page.

Cause

' libpopt.so.0 ' library is missing:

# rpm -qa | grep libpopt
rpm: error while loading shared libraries: libpopt.so.0: cannot open shared object file: No such file or directory

# ldd `which rpm`
linux-vdso.so.1 => (0x00007fff8333e000)
librpm-4.4.so => /usr/lib64/librpm-4.4.so (0x00007fd60790a000)
librpmdb-4.4.so => /usr/lib64/librpmdb-4.4.so (0x00007fd6075f4000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fd6073dc000)
librpmio-4.4.so => /usr/lib64/librpmio-4.4.so (0x00007fd607157000)
libpopt.so.0 => not found
libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00007fd606efc000)
...
libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007fd60548d000)
libc.so.6 => /lib64/libc.so.6 (0x00007fd605136000)
libpopt.so.0 => not found
libpopt.so.0 => not found
libsepol.so.1 => /lib64/libsepol.so.1 (0x00007fd604ef0000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd607b9a000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd604ce2000)

# rpm -V popt-1.13-7.el6.x86_64
rpm: error while loading shared libraries: libpopt.so.0: cannot open shared object file: No such file or directory

Resolution

The issue can be resolved in either of two ways:

  1. Install the missing library from hardware node (if Plesk server is running inside a container):

    # vzpkg install <container_ID> -p popt
  2. Copy the missing ' libpopt.so.0.0.0 ' and ' libpopt.a ' files from a test server with the same OS version to ' /usr/lib ' directory and create necessary softlinks:

    # ln -s  libpopt.so.0.0.0 libpopt.so
    # ln -s libpopt.so.0.0.0 libpopt.so.0

Properly installed library should look like the following:

    # ll libpopt*
-rw-r--r-- 1 root root 46648 May 21 21:01 libpopt.a
lrwxrwxrwx 1 root root 16 May 21 21:00 libpopt.so -> libpopt.so.0.0.0
lrwxrwxrwx 1 root root 16 May 21 21:00 libpopt.so.0 -> libpopt.so.0.0.0
-rw-r--r-- 1 root root 31976 May 21 20:59 libpopt.so.0.0.0

# ls -la /usr/lib64/libpopt.so.0.0.0
-rwxr-xr-x 1 root root 31976 May 21 20:59 /usr/lib64/libpopt.so.0.0.0
Have more questions? Submit a request
Please sign in to leave a comment.