构建和打包便携式ffmpeg Linux程序(' GLIBC_2.27'未找到)

时间:2018-05-07 15:09:29

标签: linux gcc ffmpeg glibc static-linking

我正在尝试构建一个可移植版本的ffmpeg,以便在主要的Linux发行版上运行,最终用户只需要将分布式targz包解压缩到适当的目录。

我之前在Ubuntu 16.04上构建的工作正常。我升级到Ubuntu 18.04和新版本,当在带有LD_LIBRARY_PATH=. ./ffmpeg的Fedora 27上运行时,显示错误:

./ffmpeg: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by ./libavfilter.so.7)
./ffmpeg: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by ./libavformat.so.58)

我将其解释为 libavxxx库想要动态链接系统库libclibm,这些系统库本来是用GLIBC_2.27编译的,但那些库是已使用较旧的GLIBC版本进行编译。

请注意,错误从libavxxx.so显示的事实不是重点,好像我将ffmpeg编译为胖二进制文件(libavxxx静态链接),我得到同样的错误ffmpeg

到目前为止,我发现的唯一解决方法是将构建系统libc.so.6libm.so.6库复制到包含二进制文件的目录中,并使它们成为ffmpeg包的一部分。

有没有更好的方法来处理这个问题?

0 个答案:

没有答案