mpv:加载共享库时出错:libavcodec.so.59:无法打开共享对象文件:没有此文件或目录

mpv:加载共享库时出错:libavcodec.so.59:无法打开共享对象文件:没有此文件或目录

系统:Linux 6.1.21-1-MANJARO

更新/升级我的系统后,mpv 不再工作。似乎 ffmpeg 使用的是 libavcodec 60,而 mpv 使用的是 59。虽然我不能 100% 确定这是问题所在。任何帮助都将不胜感激。

答案1

更新/升级我的系统后,mpv 不再工作。似乎 ffmpeg 使用的是 libavcodec 60,而 mpv 使用的是 59。

pacman -Qo在两个程序上使用(which mpv找出其路径)来验证两个包是否都是从官方存储库安装的。

  • 如果是的话,那么解决这个问题就是 Manjaro ffmpeg/mpv 打包者的责任;他们应该在发布新版 ffmpeg 的同时,为 libavcodec 60 发布一个重建的 mpv 包。(或者,至少,如果新版本不兼容,他们应该重建它以依赖于“ffmpeg5”。)

    (从技术上来说,您的软件包镜像也有可能最终抓取仅部分更新的软件包数据库,例如它有新的 ffmpeg 但 mpv 却很旧,但这种情况应该很少见 - 并且问题应该会在镜像下次刷新后消失,最多一个小时。)

    无论哪种方式,重复系统升级,并确保您的软件包版本与发行版网站上列出的版本相匹配。

  • 另一方面,如果 mpv 是从本地构建的包(AUR 或类似包)安装的,那么必须重建它才能使用新的库。

另外:在 mpv 可执行文件上运行lddtree并验证错误的库依赖项是直接来自 mpv 本身还是作为另一个库的传递依赖项而来可能会很有用。有时它是一个“中间”的库,需要更新或重建。

相关内容