二进制文件无法找到我的机器上存在的共享对象

二进制文件无法找到我的机器上存在的共享对象

给我猜一下:

$ obs
obs: error while loading shared libraries: libdouble-conversion.so.1: cannot open shared object file: No such file or directory

$ sudo apt install libdouble-conversion1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libdouble-conversion1 is already the newest version (2.0.1-5).
0 upgraded, 0 newly installed, 0 to remove and 24 not upgraded.

$ dpkg -L libdouble-conversion1                                                                    ✘ 127 
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libdouble-conversion.so.1.0
/usr/share
/usr/share/doc
/usr/share/doc/libdouble-conversion1
/usr/share/doc/libdouble-conversion1/README
/usr/share/doc/libdouble-conversion1/changelog.Debian.gz
/usr/share/doc/libdouble-conversion1/copyright
/usr/lib/x86_64-linux-gnu/libdouble-conversion.so.1

$ ldd $(which obs) | grep double
    libdouble-conversion.so.1 => not found

$ ldd $(which obs) | head
    linux-vdso.so.1 (0x00007ffdf8323000)
    libobs-frontend-api.so.0 => /usr/lib/libobs-frontend-api.so.0 (0x00007f67ba8bc000)
    libavcodec.so.58 => /usr/lib/x86_64-linux-gnu/libavcodec.so.58 (0x00007f67b93c4000)
    libavutil.so.56 => /usr/lib/x86_64-linux-gnu/libavutil.so.56 (0x00007f67b9346000)
    libavformat.so.58 => /usr/lib/x86_64-linux-gnu/libavformat.so.58 (0x00007f67b90ee000)
    libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f67b906b000)
    libQt5X11Extras.so.5 => /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5 (0x00007f67b9064000)
    libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f67b8a0a000)
    libobs.so.0 => /usr/lib/libobs.so.0 (0x00007f67b893f000)
    libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f67b83d4000)

我在这台机器上不止一次遇到过类似的问题。为什么它拒绝链接libdouble-conversion.so.1我机器上明明存在的文件?

相关内容