After installing Ubuntu 14.04 and installing keepalived's deb, keeplived cannot start:

aaroot@aatest1:~$ sudo /usr/sbin/keepalived
/usr/sbin/keepalived: error while loading shared libraries: libnetsnmpmibs.so.30: cannot open shared object file: No such file or directory

But using ldd to check shared library, the missing library (the symbolic link libnetsnmpmibs.so.30 and the real library) can be found:

aaroot@aatest1:~$ sudo ldd /usr/sbin/keepalived|grep libnetsnmpmibs
    libnetsnmpmibs.so.30 => /usr/lib/x86_64-linux-gnu/libnetsnmpmibs.so.30 (0x00007fd32c3c5000)

Re-executing ldconfig shows the libnetsnmpmibs.so.30 is found:

aaroot@aaaatest1:~$ sudo ldconfig -v |grep libnetsnmpmibs
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.19.so is the dynamic linker, ignoring

    libnetsnmpmibs.so.30 -> libnetsnmpmibs.so.30.0.2

Are there any problems?


Problem solved. After using strace to check system call, I found that binary tried to open ld.so.cache and got permission denied. Though apparmor blocked that behavior and remove apparmor file, and the binary can run perfectly

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.