Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have been dealing with this issue for a long time now. I compiled a patched version of ffmpeg offered by this company.

The problem arises whenever I install mplayer via apt-get. Before the installation, ffmpeg works without problems, here I give you the normal ffmpeg output with some compilation details:

FFmpeg version git-N-28463-gc5dcb3d, Copyright (c) 2000-2011 the FFmpeg developers
  built on Mar  1 2012 17:09:15 with gcc 4.5.2
  configuration: --enable-libfmp4 --enable-nonfree --enable-librtmp --enable-libx264 --enable-gpl --enable-version3 --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab --enable-swscale --enable-shared
  libavutil    50. 39. 0 / 50. 39. 0
  libavcodec   52.114. 0 / 52.114. 0
  libavformat  52.103. 0 / 52.103. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Now if I do install mplayer :

$ sudo apt-get install mplayer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libtorque2 libgdcm2.0 libxcb-keysyms1 libopenmpi1.3 libgl2ps0 libcddb2 libdvbpsi6 libupnp3 libxcb-randr0 libiso9660-7 libnuma1 libibverbs1 libtar
  libvcdinfo0 libebml3 libmatroska3 libsdl-image1.2
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libavcodec52 libavformat52 libavutil50 libpostproc51 libswscale0
Suggested packages:
  mplayer-doc netselect fping
The following NEW packages will be installed:
  libavcodec52 libavformat52 libavutil50 libpostproc51 libswscale0 mplayer
0 upgraded, 6 newly installed, 0 to remove and 45 not upgraded.
Need to get 0 B/8,592 kB of archives.
After this operation, 19.0 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Selecting previously deselected package libavutil50.
(Reading database ... 229546 files and directories currently installed.)
Unpacking libavutil50 (from .../libavutil50_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package libavcodec52.
Unpacking libavcodec52 (from .../libavcodec52_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package libavformat52.
Unpacking libavformat52 (from .../libavformat52_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package libpostproc51.
Unpacking libpostproc51 (from .../libpostproc51_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package libswscale0.
Unpacking libswscale0 (from .../libswscale0_4%3a0.6.4-0ubuntu0.11.04.1_i386.deb) ...
Selecting previously deselected package mplayer.
Unpacking mplayer (from .../mplayer_2%3a1.0~rc4.dfsg1-1ubuntu3_i386.deb) ...
Processing triggers for man-db ...
Setting up libavutil50 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up libavcodec52 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up libavformat52 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up libpostproc51 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up libswscale0 (4:0.6.4-0ubuntu0.11.04.1) ...
Setting up mplayer (2:1.0~rc4.dfsg1-1ubuntu3) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

Mplayer is now installed correctly, but calling the ffmpeg executable I now get:

ffmpeg
ffmpeg: relocation error: /usr/local/lib/libavfilter.so.1: symbol av_expr_free, version LIBAVUTIL_50 not defined in file libavutil.so.50 with link time reference

Googling around I found that removing some libraries solves the problem, so I do:

$ sudo apt-get purge libavutil-dev libavutil50 libavutil-extra-50
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libavutil-dev is not installed, so not removed
Package libavutil-extra-50 is not installed, so not removed
The following packages were automatically installed and are no longer required:
  libopenal1 libtorque2 libgdcm2.0 libxcb-keysyms1 libbluray0 libsvga1 libopenmpi1.3 libgl2ps0 libcddb2 libdvbpsi6 libupnp3 liblzo2-2 libxcb-randr0
  libiso9660-7 libnuma1 libibverbs1 libtar libvcdinfo0 libebml3 libmatroska3 libsdl-image1.2
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  libavcodec52* libavformat52* libavutil50* libpostproc51* libswscale0* mplayer*
0 upgraded, 0 newly installed, 6 to remove and 45 not upgraded.
After this operation, 19.0 MB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 229649 files and directories currently installed.)
Removing mplayer ...
Purging configuration files for mplayer ...
Removing libavformat52 ...
Purging configuration files for libavformat52 ...
Removing libavcodec52 ...
Purging configuration files for libavcodec52 ...
Removing libswscale0 ...
Purging configuration files for libswscale0 ...
Removing libpostproc51 ...
Purging configuration files for libpostproc51 ...
Removing libavutil50 ...
Purging configuration files for libavutil50 ...
Processing triggers for man-db ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

But of course, that removes mplayer. So it seems like I have to choose between either one, and I actually need to work with both tools. Is there a way around this? can anyone explain me the problem?

Thanks in advance

Nelson R. Pérez

share|improve this question
add comment

1 Answer

have you tried installing mplayer first then ffmpeg? it looks like the mplayer uses a different version shared library than ffmpeg, it's possible that the clever guys who setup these dependancies already figured this one out!

failing that, I'd install your mplayer first, then build ffmpeg from source to ensure they both work.

share|improve this answer
    
Yeah I did try that, but still nothing. –  Bilthon Apr 24 '12 at 20:54
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.