ffmpeg: error while loading shared libraries: libmvec.so.1: cannot open shared object file: No such

在运行ffmpeg进行转码的时候报错:

ffmpeg: error while loading shared libraries: libmvec.so.1: cannot open shared object file: No such file or directory

首先,输入ldd 命令 查看ffmpeg哪些依赖缺失:

ldd /etc/ffmpeg-master-latest-linux64-gpl/bin/ffmpeg

结果:

        linux-vdso.so.1 (0x00007ffca4733000)
        libm.so.6 => /usr/lib64/libm.so.6 (0x00007f46d348e000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f46d328a000)
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007f46d3082000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f46d2e64000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007f46d2ab8000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f46d3790000)
        libmvec.so.1 => not found

明显 libmvec.so.1 => not found

因为服务器不通外网,所以 浏览器请求了http://ftp.gnu.org/gnu/glibc/glibc-2.25.tar.gz

(如果通外网的话,可以直接在服务器curl -O 或者 wget下载)

下载了2.25版本的glibc,

上传至服务器后

tar xvzf glibc-2.25.tar.gz
cd glibc-2.25
mkdir build
cd build
make -i
make install -i

也可以(参考,版本号不同)

curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
tar zxf glibc-2.18.tar.gz 
cd glibc-2.18/
mkdir build
cd build/
../configure --prefix=/usr
make -j2
make install

安装完毕,执行ldd

        linux-vdso.so.1 (0x00007ffebe5ab000)
        libm.so.6 => /usr/lib64/libm.so.6 (0x00007fb3b102a000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fb3b0e26000)
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007fb3b0c1e000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fb3b0a00000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007fb3b0666000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb3b133a000)
        libmvec.so.1 => /usr/lib64/libmvec.so.1 (0x00007fb3b043c000)

完事!


版权声明:本文为MasterD56原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。