ffmpeg 未定义符号:err_set_debug_level

ffmpeg 未定义符号:err_set_debug_level

我正在使用 Ubuntu 22.04。我的 ffmpeg 突然停止工作并出现以下错误:

ffmpeg: symbol lookup error: /lib/x86_64-linux-gnu/libpocketsphinx.so.3: undefined symbol: err_set_debug_level

我尝试过卸载并重新安装 ffmpeg,也尝试过卸载所有与 pocketsphinx 相关的软件包,但当我安装 ffmpeg 时,它们又被重新安装了。我不确定它为什么会链接到 pocketsphinx,但我无法让 ffmpeg 做任何事情。当我使用 lddtree 时,看起来 libavfilter 正在使用 libpocketsphinx。

当我尝试使用 ffmpeg 做任何事情时都会出现此错误。

此命令导致错误。

ffmpeg -i file.webm file.mp4

即使这个命令也会导致错误

ffmpeg -h

但如果我尝试转换为任何其他类型的文件,我也会收到同样的错误。

有人知道我可以尝试什么来解决这个问题吗?

编辑:

我已确定可以删除有问题的文件并运行:

sudo apt purge --auto-remove libpocketsphinx3
sudo apt-get install libpocketsphinx3

它会将文件放回那里。但 ffmpeg 仍然无法运行。

编辑编辑:

我还可以通过清除 libpocketsphinx3 来删除有问题的文件。之后,如果我重新安装 ffmpeg:

sudo apt-get install ffmpeg

这会将文件放回原处并产生错误。所以这似乎是即使全新安装 ffmpeg 也会出现的问题

答案1

我刚刚遇到了同样的问题。你用过 sphinxbase 吗?它已经过时了。删除它就可以正常工作了。此外,如果你使用的是旧版本的 pocketsphinx,它会使用这些共享库进行构建,我认为这会导致这种情况。/usr/local/lib包含libpocketsphinx.so.3文件吗?如果没有,请创建symlink一个libpocketsphinx.so

ln -s /usr/local/lib/libpocketsphinx.so /usr/local/lib/libpocketsphinx.so.3

相关内容