报错信息:
error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory
解决:
在go语言程序引用到了ffmpeg,启动时得到该报错信息,网上一些博客说是没有安装ffmpeg需要安装一下,但这个并不适用我,因为我执行ffmpeg -version时是已经安装的,如下:
root@nvidia-desktop:~# ffmpeg -version
ffmpeg version 4.3.2-0york0~18.04 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 7 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
于是我把目光放到“libavdevice.so”上,一番排查后发现,是由于自己为了缩减空间执行了apt-get autoremove,导致libavdevice57被remove了,于是执行apt-get install libavdevice57重新装上后,程序正常启动了。
PS:此场景不适合所有人,毕竟每个人的现场环境不一致。