dmlc / decord

An efficient video loader for deep learning with smart shuffling that's super easy to digest
Apache License 2.0
1.88k stars 160 forks source link

undefined symbol: avcodec_parameters_copy #7

Closed longweiwei closed 5 years ago

longweiwei commented 5 years ago

hi @zhreshold I successfully finished the installation process according to your tutorial on ubuntu,but the error arised as follows when i import decord in python3.

OSError: /home/lw/.local/lib/python3.5/site-packages/decord-0.0.1-py3.5.egg/decord/libdecord.so: undefined symbol: avcodec_parameters_copy

I have no idea how to solve it,so I have to ask for your help!

zhreshold commented 5 years ago

Seems like ffmpeg issue, do you have libavcodec libs in LD_LIBRARY_PATH ?

longweiwei commented 5 years ago

yes,I do. I confirm ffmpeg was installed and environment varibale of it also has been configurated correctly. The verification process is as follows: firstly ,i enter the command ffmpeg ,the output is :

lw@lw:~$ ffmpeg ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 20160609 configuration: --enable-shared --enable-gpl --enable-pic --enable-runtime-cpudetect --cc='gcc -fPIC' --prefix=/home/lw/ffmpeg4 libavutil 56. 22.100 / 56. 22.100 libavcodec 58. 35.100 / 58. 35.100 libavformat 58. 20.100 / 58. 20.100 libavdevice 58. 5.100 / 58. 5.100 libavfilter 7. 40.101 / 7. 40.101 libswscale 5. 3.100 / 5. 3.100 libswresample 3. 3.100 / 3. 3.100 libpostproc 55. 3.100 / 55. 3.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

and ,next, i check the dynamic library whether was configurated,so i enter command env to view all of the environment variables of the system ,the ouput about LD_LIBRARY_PATH is as follows:

LD_LIBRARY_PATH=:/usr/local/cuda-10.0/lib64:/home/lw/ffmpeg4/lib

finally,I try to uninstall and install several decord several times,but arise same error.

zhreshold commented 5 years ago

You can now use pip install decord instead to avoid dependency issue

spriya20 commented 4 months ago

I have the same/similar issue "OSError: /lib/x86_64-linux-gnu/libavfilter.so.7: undefined symbol: av_timecode_make_smpte_tc_string2, version LIBAVUTIL_56" but I can't install from pip because I need the GPU version. Output from ffmpeg:

  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
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}..

I've also uninstalled and reinstalled decord multiple times, resetting my entire environment a few times, but the same issue persists. Pip version of decord works flawlessly though. Can you guys please help me out?