我尝试从 18.04 上的默认存储库安装 FFmpeg。
ffmpeg: relocation error: /usr/lib/x86_64-linux-gnu/libswresample.so.2:
symbol av_calloc version LIBAVUTIL_55 not defined in file
libavutil.so.55 with link time reference
我相信当我尝试从源代码编译 ffmpeg 然后放弃时,我可能破坏了共享库。
看到这个有问题的文件/usr/lib/x86_64-linux-gnu/libswresample.so.2
是由包提供的libswresample2
$ dpkg-query -L libswresample2
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libswresample.so.2.9.100
/usr/share
/usr/share/doc
/usr/share/doc/libswresample2
/usr/share/doc/libswresample2/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libswresample2
/usr/lib/x86_64-linux-gnu/libswresample.so.2
/usr/share/doc/libswresample2/changelog.Debian.gz
我尝试重新安装 ffmpeg、libswresample-dev、libswresample2、libavutil55 和 libavutil-dev,但仍然收到相同的错误。如果可能的话,我尽量避免再次从源代码编译 ffmpeg。
答案1
您可以随时下载静态构建并使用它们。这将解决您的问题。但是,我建议您修复此依赖性问题,以便您可以在之后使用最新的 ffmpeg 版本apt-get update
。