当我尝试在 Ubuntu 18.10 上安装我常用的环境时遇到了很多问题。
我很好奇,为什么那些据称可以在 18 岁以下运行的软件包似乎存在所有这些问题?
我设法从源代码构建 emacs,因此我对 emacs-gtk/emacs-common/emacs26 的所有问题都可以搁置了。
但是 clementine 和 simplescreenrecorder 都使用 apt install 进行安装,并且在运行时都会抱怨
加载共享库时出错:libdouble-conversion.so.1:无法打开共享对象文件:没有此文件或目录
Reading package lists... Done
Building dependency tree
Reading state information... Done
libdouble-conversion-dev is already the newest version (2.0.1-5).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
From what I can see, there is a symbolic link:
lrwxrwxrwx 1 root root 25 Apr 10 2018 /usr/lib/x86_64-linux-gnu/libdouble-conversion.so -> libdouble-conversion.so.1
到不存在的文件 libdouble-conversion.so.1
apt-cache policy libdouble-conversion1
libdouble-conversion1:
Installed: 2.0.1-5
Candidate: 2.0.1-5
Version table:
*** 2.0.1-5 500
500 http://us.archive.ubuntu.com/ubuntu cosmic/main amd64 Packages
100 /var/lib/dpkg/status
我还手动构建了 libdouble-conversion,但它创建了 /usr/local/lib/libdouble-conversion.so.3,而 clementine、simplescreenrecorder 和 octave 都需要 .so.1
我删除了 /usr/local/lib 中的 libdouble-conversion 并尝试:
sudo apt install--重新安装 libdouble-conversion1
现在 octave、simplescreenrecorder 和 clementine 都转储了。有什么方法可以识别发生了什么?显示哪个共享库失败了?我想表明它实际上仍然是 libdouble-conversion。
我当然想解决这个问题,但如果有人能解释为什么 18.10 存在这么多这样的问题,我将不胜感激。
答案1
我遇到了类似的问题(程序无法在 20.04 上运行),其中 .so.1 文件不可用。
我解决了:
sudo ln -s /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.3 /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.1
此后程序运行正常。您的情况可能也是如此。