尝试在 pi 5 上启动 Retroarch 时出现 libavcodec.so.58 not found 错误

问题描述 投票:0回答:1

我最近得到了一个 raspberry pi 5,我正在运行最新的 64 位 raspbian 操作系统,它基于 Debian 12。我现在正在尝试安装 Retroarch,并且我正在使用 PiKISS 应用程序。安装后,系统提示我运行它,当我按 Enter 时,它会给出错误“/usr/local/bin/retroarch:加载共享库时出错:libavcodec.so.58:无法打开共享对象文件:没有这样的文件或目录”我很困惑,我尝试安装其他应用程序,例如steam,但遇到了类似的问题。这是一个干净的安装,我之前安装的唯一的东西是 box64 和 box86。任何帮助将不胜感激!!

我尝试过研究这个问题,虽然我发现其他人遇到了类似的问题,但它并没有帮助我解决我的问题,我感到非常失落,而且我对这一切仍然很陌生。

debian pi libavcodec
1个回答
0
投票

有点旧,但我只是使用相同的程序遇到了同样的问题。 发生这种情况是因为您的 ffmpeg 比 Retroarch 所需的新。

修复此问题的一种方法是降级:

您可以在此处查看版本:https://ffmpeg.org/download.html

libavutil      56. 70.100
libavcodec     58.134.100
libavformat    58. 76.100
libavdevice    58. 13.100
libavfilter     7.110.100
libswscale      5.  9.100
libswresample   3.  9.100
libpostproc    55.  9.100

这是我们想要的 4.4 版本。

所以如果以后有更新,而你,未来的读者,因为retroarch更新而面临相同的版本问题,你可以同样在网站中检查当前版本。

现在,我让它在我这边工作,但我做了很多事情......我不确定到底是什么让它工作,所以我将得到从最新到最早的修复。


遵循 Retroarch 的安装指南,特别是关于依赖项。

https://docs.libretro.com/guides/rpi/

我安装了以下内容:

sudo apt install -y build-essential libudev-dev libegl-dev libgles-dev libx11-xcb-dev

sudo apt install -y libvulkan-dev mesa-vulkan-drivers

还有 KMS,需要针对特定版本进行一些更改:

sudo apt install libavcodec-4-dev \
            libavdevice-4-dev \
            libavformat-4-dev \
            libdrm-common \
            libdrm-dev \
            libdrm2 \
            libegl1-mesa-dev \
            libfreetype6-dev \
            libgbm-dev \
            libgbm-dev \
            libgbm1 \
            libgles2 \
            libgles2-mesa \
            libgles2-mesa-dev \
            libsdl-image1.2-dev \
            libsdl2-dev \
            libswresample-4-dev \
            libswscale-4-dev\
            libv4l-dev\
            libxkbcommon-dev\
            libxml2-dev\
            yasm\
            zlib1g-dev\
            libavutil56

(缺少

libavresample4
,因为版本控制有冲突,但最终仍然有效)

我尝试运行 Retroarch,它在最后一个之后起作用了。

如果它对您不起作用,或者找不到软件包...


添加

deb-multimedia
PPA https://www.deb-multimedia.org/

/etc/apt/sources.list
内,或在
/etc/apt/sources.list.d

内的新 .list 文件中
deb https://www.deb-multimedia.org bookworm main non-free
deb https://www.deb-multimedia.org bookworm-backports main

然后执行通常的

sudo apt update
,并尝试再次安装,尽管它包含比我最初预期的更新的版本...


这是我最希望起作用的方法,但它似乎没有将

so.X
文件添加到库中......

https://pimylifeup.com/compiling-ffmpeg-raspberry-pi/

只需检查它是否正在尝试编译版本 5.0,因此您必须在版本 4.4 的最后一个命令中更改它。


就是这样。

我见过的“解决方案”之一是在缺少的库的名称下创建一个符号链接,但 Retroarch 不会接受这一点,所以不要浪费时间。

© www.soinside.com 2019 - 2024. All rights reserved.