Solution of libavcodec problem in OpenCV

Lu-Hsuan Chen
1 min readJan 31, 2020

--

Photo by Max Duzij on Unsplash

I had manually compiled OpenCV version 3.4.2 on my CentOS system, and it worked well until today. This morning, I received a issue of my SRCNN-cpp project. After I tried to execute the programming I got the following error message: libavcodec.so.56: cannot open shared object file: No such file or directory. In the beginning, I thought maybe something wrong of the executable, so I tried to recompile the program. Surprisingly, I got the compile errors related to FFmpeg. I realized I upgraded FFmpeg a month ago which breaks OpenCV (my libavcodec.so is symlinked to libavcodec.so.57).

As mentioned in this thread, I can solve this problem by these two approaches:

  1. Recompile OpenCV to link against the latest version of libavcodec.
  2. Revert the version of libavcodec to 56.

As a hardcore programmer, I selected the solution of recompiling. What’s more, I wanted to upgrade my OpenCV to newer version. For compiling OpenCV from source on CentOS, you can see this article.

Originally published at https://cuda-chen.github.io on January 31, 2020.

--

--

Lu-Hsuan Chen
Lu-Hsuan Chen

Written by Lu-Hsuan Chen

Enthusiastic of image processing, machine learning, and parallel computing. Current status: beggar on the street.

No responses yet