我有一个运行 ARCO linux(基于 Arch)的系统。我以前用它来运行wireshark 效果很好。然后我想使用旧版本的wireshark,并获取了wireshark-2.6.10的源代码,但由于一些编译器错误(layout_preferences_frame.cpp:12中的extern“C”),它们没有完全编译,我决定放弃它。我用 pacman 卸载了当前版本的wireshark,然后重新安装了它,但由于某种原因,现在它不再启动,而是得到:
wireshark
wireshark: error while loading shared libraries: libwscodecs.so.2: cannot open shared object file: No such file or directory
我找不到它libwscodecs.so.2
到底是什么或如何取回它,我的其他系统似乎也没有它(但wireshark在那里工作得很好)。发生了什么事<我想知道我可以让我的wireshark 再次启动并运行吗?
答案1
在我的 Debian 机器(抱歉不是 Arch)上,我的共享库位于以下位置:
/usr/lib/x86_64-linux-gnu/libwscodecs.so.2
我要检查的是当您尝试手动安装时是否有依赖项被破坏。也有可能是您工作的一部分编译了旧版本的共享库,并取代了旧版本。
您可以做的一件事是再次卸载wireshark,然后运行:
pacman -Rs $(pacman -Qtdq)
尝试看看它们是否是可以删除的孤立包。这可能是一个“后门”,可以让所有东西再次干净地安装。
另一件要做的事情是查看网页上是否显示任何依赖项(https://archlinux.org/packages/community/x86_64/wireshark-qt/)因为wireshark包已损坏。您还可以搜索网站以查看该共享对象是否包含在任何wireshark 软件包中。短暂的查找并没有找到它。是否有可能更改配置(用于编译)或配置(如/etc/)文件以查找libwcodecs.so.2?
另一个跟进。 pacman 将什么显示为其他工作正常的机器的依赖关系。与提供错误的机器相比有什么不同吗?