user1245262
user1245262

Reputation: 7505

Python module for OpenCV requires a library that's unavailable to Ubuntu 14.04

I'm trying to use OpenCV from within Python on an system using Ubuntu 14.04. When I try to import cv2, I get the following error:

 me@Bedrock1:~$ python
 Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
 [GCC 4.8.2] on linux2
 Type "help", "copyright", "credits" or "license" for more information.

 >>> import cv2
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
 ImportError: libavcodec.so.53: cannot open shared object file: No such file or directory

A search for libavcodec.so.53 reveals that my system has only libavcodec.so.54.

A search of the internet reveals that libavcodec.so.53 has been removed from the 14.04 repository (http://www.ubuntuupdates.org/package/core/trusty/universe/base/libavcodec53). This, probably, explains my inability to apt-get install this library:

 me@Bedrock1:~$ sudo apt-get install libavcodec53 libavcodec-extra-53
 ...
 E: Package 'libavcodec53' has no installation candidate
 E: Package 'libavcodec-extra-53' has no installation candidate

Unfortunately, now I'm truly stuck.

Is there a way to get the cv2 module to use libavcodec.so.54, or a way to find & install libavcodec.so.53?

NOTE: I just tried reinstalling by following the instructions at https://help.ubuntu.com/community/OpenCV

but I still am getting the same libavcodec.so.53 error....

Upvotes: 2

Views: 4791

Answers (3)

mythsmith
mythsmith

Reputation: 25

I got the same problem on Ubuntu 14.04 64bit, as reported here: https://bugs.launchpad.net/ubuntu/+source/opencv/+bug/1161485/comments/2 I tried downloading the source package and recompiling, in order to get the correct libraries linked, but with no luck.

At the end, I recompiled from source, following these instructions: http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html

Everything goes fine except for the python module compilation, which was disable at configure time (listed in Opencv modules: Unavailable: section).

I used cmake-gui to configure the build and generate makefiles. The configuration step was correctly setting PYTHON2_INCLUDE_DIR, PYTHON2_INCLUDE_DIR2 and PYTHON2_LIBRARY, but it was NOT setting PYTHON_INCLUDE_DIR, PYTHON_INCLUDE_DIR2 and PYTHON_LIBRARY.

In order to actually build the python module, you should set these PYTHON_ variables equal to their corresponding PYTHON2_ variables. Then, the make step will build also cv2.so.

Upvotes: 1

Froyo
Froyo

Reputation: 18477

Try this script. Ubuntu man page has an old version of this script. This should work.

https://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/2.4/opencv2_4_9.sh

Upvotes: 2

Sainath Motlakunta
Sainath Motlakunta

Reputation: 945

Check if reinstalling opencv resolves the issue

sudo apt-get install --reinstall python-opencv

BTW how did you install it before ?

Upvotes: 1

Related Questions