ImportError: libavcodec.so.56: não é possível abrir o arquivo de objeto compartilhado: Nenhum arquivo ou diretório

2

Eu fui instalado opencv com pacman, quando eu tento importar opencv, eu tenho esse erro:

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

como posso corrigir esse erro?

EDITAR

sudo pacman -Ss libav
extra/gst-libav 1.4.4-1 [installed: 1.4.1-1]
    Gstreamer libav Plugin
extra/libavc1394 0.5.4-2 [installed]
    A library to control A/V devices using the 1394ta AV/C commands.
community/ffms2 2.20-2 [installed]
    A libav/ffmpeg based source library and Avisynth plugin for easy frame
    accurate access
    
por 2 8 06.12.2014 / 21:23

2 respostas

1

Isso significa que você não possui as bibliotecas corretas instaladas. Tente uma pesquisa usando pacman -Ss libav .

No OpenSuSE, isso faz parte do libavcodec52 , que diz que está relacionado a ffmpeg . Verifique se você tem ffmpeg instalado bem como dependências devem serem extraídas no libavcodec.

EDITAR

Depois de ler a documentação , parece que ffmpeg fornece o requisito libavcodec .

    
por 06.12.2014 / 21:32
1

Os mesmos problemas enfrentados no centOS ao verificar os pacotes ffmpeg são instalados e versão:

 #/usr/local/bin/ffmpeg

/usr/local/bin/ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory

ou

# ldd 'which ffmpeg'
    linux-vdso.so.1 =>  (0x00007fffb32d8000)
    libavdevice.so.56 => not found
    libavfilter.so.5 => not found
    libavformat.so.56 => not found
    libavcodec.so.56 => not found
    libpostproc.so.53 => not found
    libswresample.so.1 => not found
    libswscale.so.3 => not found
    libavutil.so.54 => not found
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f75f2ef8000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f75f2c74000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f75f28df000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f75f3126000)

Solução:

Agora, verifique o caminho da biblioteca, abra ld.so.conf

# vim /etc/ld.so.conf

include ld.so.conf.d/*.conf
/usr/local/lib
/usr/lib

Por fim, salve e saia do : wq!

Agora, verifique com o mesmo comando

# ffmpeg -v
ffmpeg version N-73873-gcee7acf-syslin Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-11)
  configuration: --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --extra-libs=-lx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-version3 --extra-version=syslin --enable-libass --enable-libvpx --enable-zlib --enable-gpl
  libavutil      54. 28.100 / 54. 28.100
  libavcodec     56. 50.101 / 56. 50.101
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 25.100 /  5. 25.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
    
por 21.07.2015 / 15:21