Argh, after a very long time running 11.4 I finally managed to bork something.
After running an update some time ago (although I don’t remember when) it updated ffmpeg and libav. Now, when I run ffmpeg at the command line I get:
ffmpeg: relocation error: /usr/lib64/libavdevice.so.54: symbol avfilter_all_channel_layouts, version LIBAVFILTER_2 not defined in file libavfilter.so.2 with link time reference
If I try to watch an h264 video that was created with Handbrake I get the following error:
No suitable decoder module:
VLC does not support the audio or video format "mp4v". Unfortunately there is no way for you to fix this.
VLC seems to play everything else.
I can’t seem to figure out whether the issues are related or not - I assume they are only because I noticed them at the same time and they both seem to revolve around libav*54.
I’ve searched the internet and forums, and I can’t seem to find anything. The only hits I get are for libav*53 about a year ago, and that was folks that enabled the VideoLAN repo - which I have not.
Anyone have any idea what I did wrong? I’ve tried to update them to see if the solver kicks a missing dependency at me - but no go. I can’t uninstall libav*54 because it wants to make 490(!) changes to my system - which will bork the rest of the system for sure.
I did it, but it didn’t help. It did update a few binaries I thought I was already using from Packman.
That’s a great process to know, though - there’s been a few problems from time to time that switching the repos that way would’ve saved me some time. Thanks!
intel:/home/torp # zypper ps
No processes using deleted files found.
intel:/home/torp # ffmpeg
ffmpeg: relocation error: /usr/lib64/libavdevice.so.54: symbol avfilter_all_channel_layouts, version LIBAVFILTER_2 not defined in file libavfilter.so.2 with link time reference
torp@intel:~> rpm -qi ffmpeg
Name : ffmpeg Relocations: (not relocatable)
Version : 0.11.1 Vendor: http://packman.links2linux.de
Release : 1.1 Build Date: Tue 19 Jun 2012 06:45:51 AM CDT
Install Date: Wed 20 Jun 2012 03:29:41 PM CDT Build Host: Patchouli
Group : Productivity/Multimedia/Video/Editors and Convertors Source RPM: ffmpeg-0.11.1-1.1.src.rpm
Size : 3299179 License: LGPL-2.0+ and some code GPL-2.0+
Signature : RSA/SHA1, Tue 19 Jun 2012 10:25:30 PM CDT, Key ID 45a1d0671abd1afb
Packager : packman@links2linux.de
URL : http://www.ffmpeg.org
Summary : Hyper fast MPEG1/MPEG4/H263/RV and AC3/MPEG audio encoder
Description :
ffmpeg is a hyper fast realtime audio/video encoder, a streaming server
and a generic audio and video file converter.
It can grab from a standard Video4Linux video source and convert it into
several file formats based on DCT/motion compensation encoding. Sound is
compressed in MPEG audio layer 2 or using an AC3 compatible stream.
Distribution: Essentials / openSUSE_11.4
Running ffmpeg I get:
torp@intel:~> ffmpeg
ffmpeg: relocation error: /usr/lib64/libavdevice.so.54: symbol avfilter_all_channel_layouts, version LIBAVFILTER_2 not defined in file libavfilter.so.2 with link time reference
RedDwarf - I seem to have the same things you do. So I don’t exactly know what to say.
You are absolutely right, I should’ve looked a little closer before I lept.
It worked previously, so either the previous versions of ffmpeg either worked with the /usr/local/lib version, or ffmpeg was statically linked to /usr/lib.
I compiled that libav either for the program “emit” (program to stream movies to android); or I did it for AirVideo (same for iOS). I don’t care about emit, but since the wife relies heavily on AirVideo I’m hoping it isn’t that.
I don’t suppose there is a switch I can throw at ffmpeg to use a certain set of libraries, is there?
Thank you for all your help, RedDwarf and caf4926. It is greatly appreciated!