ubtun14升级到ubuntu16 VirtualBox: dlopen("/usr/lib/virtualbox/VBoxRT.so",) failed: librtmp.so.0: cannot

现象:以前在14版本上安装了vbox5.1,然后下载vbox5.2安装失败,然后卸载5.1从新安装5.2出现问题;

解决办法

1.使用dpkg -l | grep vir查找到以前安装的vbox

rc  virtualbox-5.0                                       5.0.14-105127~Ubuntu~trusty                  amd64        Oracle VM VirtualBox
rc  virtualbox-5.1                                       5.1.30-118389~Ubuntu~xenial                  amd64        Oracle VM VirtualBox

使用sudo dpkg -r virtualbox-5.1或者sudo dpkg -P virtualbox-5.1卸载以前版本

然后安装vbox5.2,启动box出现上面的问题

使用ldd /usr/lib/virtualbox/VBoxRT.so

linux-vdso.so.1 =>  (0x00007ffc0af68000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007ff3dc2f4000)
libz.so.1 => /usr/local/lib/libz.so.1 (0x00007ff3dc0d9000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff3dbebc000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff3dbcb4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff3dbab0000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007ff3db6f5000)
libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0x00007ff3db48f000)
libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007ff3db226000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007ff3dade2000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff3daa60000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff3da84a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff3da480000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff3dca06000)
libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007ff3da0ec000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007ff3d9eca000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff3d9bc1000)
libidn.so.11 => /usr/lib/x86_64-linux-gnu/libidn.so.11 (0x00007ff3d998e000)
librtmp.so.0 => not found
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007ff3d977f000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007ff3d952e000)
libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007ff3d7a77000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007ff3d785c000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007ff3d7641000)
libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007ff3d7400000)
libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007ff3d70d0000)
libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007ff3d6ec7000)
libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007ff3d6c3d000)
libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007ff3d699b000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007ff3d6797000)
libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007ff3d6564000)
libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007ff3d634e000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007ff3d60ea000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007ff3d5ed7000)
libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007ff3d5ca1000)
libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007ff3d5a6e000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007ff3d57ee000)
libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007ff3d55c5000)
libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007ff3d53b6000)
libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007ff3d516b000)

发现librtmp.so.0 => not found,通过修改查找find / -iname "librtmp.so*";找到librtmp.so

进入librtmp.so目录创建软链接 ln -s librtmp.so librtmp.so.0

重启vbox搞定

你可能感兴趣的:(linux)