我正在使用 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