我已经从 16.04 升级到 17.04,现在无法运行ffmpeg
:
$ ffmpeg
ffmpeg: error while loading shared libraries: libx265.so.79: cannot open shared object file: No such file or directory
我已经安装了该库但它的版本不同:
$ ls -1l /usr/lib/x86_64-linux-gnu/libx265*
-rw-r--r-- 1 root root 4704858 úno 23 16:57 /usr/lib/x86_64-linux-gnu/libx265.a
lrwxrwxrwx 1 root root 14 úno 23 16:57 /usr/lib/x86_64-linux-gnu/libx265.so -> libx265.so.110
-rw-r--r-- 1 root root 10807296 úno 23 16:57 /usr/lib/x86_64-linux-gnu/libx265.so.110
我尝试建立符号链接 .79 -> .110,但最终出现错误。
它要寻找的是:
$ ldd $(which ffmpeg)
linux-vdso.so.1 => (0x00007fffce1f4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe866d36000)
libvdpau.so.1 => /usr/lib/x86_64-linux-gnu/libvdpau.so.1 (0x00007fe866b32000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fe866910000)
libxcb-xfixes.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0 (0x00007fe866708000)
libxcb-shape.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shape.so.0 (0x00007fe866504000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fe8661c9000)
libx265.so.79 => not found
libx264.so.148 => /usr/lib/x86_64-linux-gnu/libx264.so.148 (0x00007fe865e27000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe865b1e000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe865902000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe8656e4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe86531b000)
/lib64/ld-linux-x86-64.so.2 (0x00005587217c3000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fe865109000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fe864f05000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fe864cff000)
我该怎么办呢?
.79 是什么意思?这是一个版本吗?根据该静态构建页面,使用的版本是libx265: 2.4+22-c102c809fc4f
。所以.79
看起来有点不对劲。
答案1
我通过从 中提到的链接下载静态构建解决了这个问题ffmpeg.org
。请注意(对于初学者),您需要使用 来运行它,./ffmpeg
而不仅仅是ffmpeg
在目录中运行它。
不过,我想知道如何修复发行版的软件包的依赖。
编辑:系统打包ffmpeg
在 17.10 中再次起作用。