将 ubuntu 16 升级到 18 后,执行 tmux 时出现此错误:
tmux:加载共享库时出错:libevent-2.0.so.5:无法打开共享对象文件:没有此文件或目录
以下是我执行的结果ldd $(which tmux)
:
linux-vdso.so.1 (0x00007ffd9878a000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f5588dfc000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f5588bd2000)
libevent-2.0.so.5 => not found
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f55889b7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f55885c6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5588fff000
我通过以下方式获得了 tmuxGitHub 上的说明。它在 Ubuntu 16 上运行。
$ apt-cache policy tmux
Installed: (none)
Candidate: 2.6-3
Version table:
2.6-3 500
500 http://id.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
100 /var/lib/dpkg/status
答案1
作为@guiverc评论 - 两者tmux
和libevent
在 Ubuntu Bionic Beaver 18.04 LTS(及其他版本)上包装良好。
tmux
您应该使用下列方法之一删除本地安装的版本:
检查本地安装的版本
tmux
:tmux -V # or from `man tmux`
然后从 github 仓库克隆此版本,再次编译并运行
sudo make uninstall
只需删除自行安装
tmux
的sudo rm $(which tmux)
注意:运行
sudo rm $(which tmux)
看起来很安全,因为即使官方包尚未发布其他二进制文件或库。
并从存储库安装包:
sudo apt-get install tmux
答案2
Bionic(18.04)下的 Tmux 需要比您提到的更高版本的 libevent(2.1)(https://packages.ubuntu.com/bionic/tmux)。我问“你的 tmux 在哪里,因为它与 bionic 版本的 tmux 不匹配”,注意到你的版本符合 xenial 的 tmux 的要求(https://packages.ubuntu.com/xenial/tmux)建议检查你的
apt-cache policy tmux
然后你告诉我你自己安装了它,这意味着你(可能不知不觉或者不知不觉地) 同意自己维护它,因为 apt 打包不知道它,因此无法维护和升级它。因此您需要自己管理升级(因为您没有安装自动维护版本)。
我认为你的两个主要选择是:-
(1)您需要重新编译您现有的安装(按照您第一次使用的文档中的说明,例如make; make install..
),因为您之前的编译是针对 Ubuntu 16.04 而不是 18.04 完成的。
(2)删除它,然后使用常规工具安装 Ubuntu apt
。这样做的好处是始终拥有自动安全更新,并且将在未来的版本升级中更新(即使这是 20.04)请参阅@N0rbert 的回答和帖子的评论,以获取有关删除的线索
[这些注释是已转换为答案的评论]
答案3
这解决了我的问题:
sudo apt install libevent-dev
答案4
对我来说,将 debian 9 升级到 debian 10 会导致此错误
安装libevent-2.1-6
解决问题。
apt install libevent-2.1-6
之后输出如下ldd $(which tmux)
$ ldd $(which tmux)
linux-vdso.so.1 (0x00007ffe6435f000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f0fca4c9000)
libutempter.so.0 => /usr/lib/x86_64-linux-gnu/libutempter.so.0 (0x00007f0fca2c6000)
libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f0fca297000)
libevent-2.1.so.6 => /usr/lib/x86_64-linux-gnu/libevent-2.1.so.6 (0x00007f0fca041000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f0fca029000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0fc9e66000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0fc9e43000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0fca57e000)