Libav54 issues in both ffmpeg and VLC

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.

Are you only using Packman or have you added the VideoLan repo?

zypper lr -d

Only Packman. I didn’t even enable VideoLan to get libdvdcss this time.

torp@intel:~> zypper lr -d
#  | Alias                            | Name                                    | Enabled | Refresh | Priority | Type   | URI                                                                          | Service
---+----------------------------------+-----------------------------------------+---------+---------+----------+--------+------------------------------------------------------------------------------+--------
 1 | Added_by_JDE                     | Added by JDE                            | No      | No      |   99     | rpm-md | http://download.opensuse.org/repositories/Base:/System/openSUSE_11.4/        |        
 2 | KDE_Qt                           | Current Qt 4.x packages (openSUSE_11.4) | Yes     | No      |   99     | rpm-md | http://download.opensuse.org/repositories/KDE:/Qt/openSUSE_11.4/             |        
 3 | Updates-for-openSUSE-11.4-11.4-0 | Updates for openSUSE 11.4 11.4-0        | Yes     | Yes     |   20     | rpm-md | http://download.opensuse.org/update/11.4/                                    |        
 4 | download.nvidia.com-opensuse     | nVidia Graphics Drivers                 | Yes     | Yes     |   21     | rpm-md | ftp://download.nvidia.com/opensuse/11.4/                                     |        
 5 | download.opensuse.org-Stable     | openSUSE BuildService - LibreOffice     | Yes     | Yes     |   20     | rpm-md | http://download.opensuse.org/repositories/LibreOffice:/Stable/openSUSE_11.4/ |        
 6 | download.opensuse.org-mozilla    | openSUSE BuildService - Mozilla         | Yes     | Yes     |   19     | rpm-md | http://download.opensuse.org/repositories/mozilla/openSUSE_11.4/             |        
 7 | download.opensuse.org-standard   | Main Repository (Contrib)               | Yes     | Yes     |   20     | rpm-md | http://download.opensuse.org/repositories/openSUSE:/11.4:/Contrib/standard/  |        
 8 | google-musicmanager              | google-musicmanager                     | Yes     | Yes     |   99     | rpm-md | http://dl.google.com/linux/musicmanager/rpm/stable/x86_64                    |        
 9 | google-talkplugin                | google-talkplugin                       | Yes     | Yes     |   99     | rpm-md | http://dl.google.com/linux/talkplugin/rpm/stable/x86_64                      |        
10 | hardware:libusb0                 | hardware:libusb0                        | No      | No      |   99     | rpm-md | http://download.opensuse.org/repositories/hardware:/libusb0/openSUSE_11.4/   |        
11 | libdvdcss repository             | libdvdcss repository                    | Yes     | Yes     |   99     | rpm-md | http://opensuse-guide.org/repo/11.4/                                         |        
12 | multimedia:xine                  | multimedia:xine                         | No      | No      |   99     | rpm-md | http://download.opensuse.org/repositories/multimedia:/xine/openSUSE_11.4/    |        
13 | packman.inode.at-suse            | Packman Repository                      | Yes     | Yes     |   21     | rpm-md | http://packman.inode.at/suse/openSUSE_11.4/                                  |        
14 | repo-debug                       | openSUSE-11.4-Debug                     | No      | No      |   99     | NONE   | http://download.opensuse.org/debug/distribution/11.4/repo/oss/               |        
15 | repo-debug-update                | openSUSE-11.4-Update-Debug              | No      | No      |   99     | NONE   | http://download.opensuse.org/debug/update/11.4/                              |        
16 | repo-non-oss                     | openSUSE-11.4-Non-Oss                   | Yes     | Yes     |   22     | yast2  | http://download.opensuse.org/distribution/11.4/repo/non-oss/                 |        
17 | repo-oss                         | openSUSE-11.4-Oss                       | Yes     | Yes     |   22     | yast2  | http://download.opensuse.org/distribution/11.4/repo/oss/                     |        
18 | repo-source                      | openSUSE-11.4-Source                    | No      | No      |   99     | NONE   | http://download.opensuse.org/source/distribution/11.4/repo/oss/              |        


Change the priority of all repos to 99
The try this
https://dl.dropbox.com/u/10573557/Switcher%20Pics/11.4_packman_switch.png

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:~> zypper lr -d
#  | Alias                            | Name                                    | Enabled | Refresh | Priority | Type   | URI                                                                          | Service
---+----------------------------------+-----------------------------------------+---------+---------+----------+--------+------------------------------------------------------------------------------+--------
 1 | Added_by_JDE                     | Added by JDE                            | No      | No      |   99     | rpm-md | http://download.opensuse.org/repositories/Base:/System/openSUSE_11.4/        |        
 2 | KDE_Qt                           | Current Qt 4.x packages (openSUSE_11.4) | Yes     | No      |   99     | rpm-md | http://download.opensuse.org/repositories/KDE:/Qt/openSUSE_11.4/             |        
 3 | Updates-for-openSUSE-11.4-11.4-0 | Updates for openSUSE 11.4 11.4-0        | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/11.4/                                    |        
 4 | download.nvidia.com-opensuse     | nVidia Graphics Drivers                 | Yes     | Yes     |   99     | rpm-md | ftp://download.nvidia.com/opensuse/11.4/                                     |        
 5 | download.opensuse.org-Stable     | openSUSE BuildService - LibreOffice     | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/LibreOffice:/Stable/openSUSE_11.4/ |        
 6 | download.opensuse.org-mozilla    | openSUSE BuildService - Mozilla         | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/mozilla/openSUSE_11.4/             |        
 7 | download.opensuse.org-standard   | Main Repository (Contrib)               | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/openSUSE:/11.4:/Contrib/standard/  |        
 8 | google-musicmanager              | google-musicmanager                     | Yes     | Yes     |   99     | rpm-md | http://dl.google.com/linux/musicmanager/rpm/stable/x86_64                    |        
 9 | google-talkplugin                | google-talkplugin                       | Yes     | Yes     |   99     | rpm-md | http://dl.google.com/linux/talkplugin/rpm/stable/x86_64                      |        
10 | hardware:libusb0                 | hardware:libusb0                        | No      | No      |   99     | rpm-md | http://download.opensuse.org/repositories/hardware:/libusb0/openSUSE_11.4/   |        
11 | libdvdcss repository             | libdvdcss repository                    | Yes     | Yes     |   99     | rpm-md | http://opensuse-guide.org/repo/11.4/                                         |        
12 | multimedia:xine                  | multimedia:xine                         | No      | No      |   99     | rpm-md | http://download.opensuse.org/repositories/multimedia:/xine/openSUSE_11.4/    |        
13 | packman.inode.at-suse            | Packman Repository                      | Yes     | Yes     |   99     | rpm-md | http://packman.inode.at/suse/openSUSE_11.4/                                  |        
14 | repo-debug                       | openSUSE-11.4-Debug                     | No      | No      |   99     | NONE   | http://download.opensuse.org/debug/distribution/11.4/repo/oss/               |        
15 | repo-debug-update                | openSUSE-11.4-Update-Debug              | No      | No      |   99     | NONE   | http://download.opensuse.org/debug/update/11.4/                              |        
16 | repo-non-oss                     | openSUSE-11.4-Non-Oss                   | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.4/repo/non-oss/                 |        
17 | repo-oss                         | openSUSE-11.4-Oss                       | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.4/repo/oss/                     |        
18 | repo-source                      | openSUSE-11.4-Source                    | No      | No      |   99     | NONE   | http://download.opensuse.org/source/distribution/11.4/repo/oss/              |

Back after I switch OS BRB

This my ffmpeg detail

kernelcruncher@eee-weed:~> rpm -qi ffmpeg
Name : ffmpeg
Version : 0.11.1
Release : 1.1
Architecture: i586
Install Date: Thu 21 Jun 2012 06:48:56 BST
Group : Productivity/Multimedia/Video/Editors and Convertors
Size : 3280117
License : LGPL-2.0+ and some code GPL-2.0+
Signature : RSA/SHA1, Wed 20 Jun 2012 10:34:42 BST, Key ID 45a1d0671abd1afb
Source RPM : ffmpeg-0.11.1-1.1.src.rpm
Build Date : Tue 19 Jun 2012 12:34:55 BST
Build Host : Patchouli
Relocations : (not relocatable)
Packager : packman@links2linux.de
Vendor : PackMan :: Startseite
URL : FFmpeg
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.

Running it I get

kernelcruncher@eee-weed:~> ffmpeg
ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
built on Jun 10 2012 22:43:48 with gcc 4.6.2
configuration: --shlibdir=/usr/lib --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib --enable-shared --disable-static --enable-debug --disable-stripping --extra-cflags=’-fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gsm’ --enable-gpl --enable-x11grab --enable-version3 --enable-pthreads --enable-avfilter --enable-libpulse --enable-libvpx --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid --enable-libx264 --enable-libschroedinger --enable-libgsm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-postproc --enable-libdc1394 --enable-librtmp --enable-libfreetype --enable-avresample
libavutil 51. 54.100 / 51. 54.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.100 / 54. 6.100
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
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’

This is 12.1 Tumbleweed

$ ldd $(which ffmpeg) | fgrep libavfilter
        libavfilter.so.2 => /usr/lib64/libavfilter.so.2 (0x00007f528aeae000)

$ rpm -qf /usr/lib64/libavfilter.so.2
libavfilter2-0.11.1-1.1.x86_64

$ objdump -x /usr/lib64/libavfilter.so.2 | fgrep LIBAVFILTER_2
2 0x00 0x0ececed2 LIBAVFILTER_2

$ nm -D /usr/lib64/libavfilter.so.2 | fgrep avfilter_all_channel_layouts
0000000000071da0 R avfilter_all_channel_layouts

The latest version from Packman does indeed define that symbol. Obviously you have a different library…

Sorry, I fell asleep. :frowning:

Here is my ffmpeg detail:

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.

torp@intel:~> ldd $(which ffmpeg) | fgrep libavfilter
        libavfilter.so.2 => /usr/local/lib/libavfilter.so.2 (0x00007fb01d126000)
torp@intel:~> rpm -qf /usr/lib64/libavfilter.so.2
libavfilter2-0.11.1-1.1.x86_64
torp@intel:~> objdump -x /usr/lib64/libavfilter.so.2 | fgrep LIBAVFILTER_2
2 0x00 0x0ececed2 LIBAVFILTER_2
torp@intel:~> nm -D /usr/lib64/libavfilter.so.2 | fgrep avfilter_all_channel_layouts
0000000000076e80 R avfilter_all_channel_layouts

So you have the correct libavfilter2 installed from Packman… but you are not using it.

No idea where that /usr/local/lib/libavfilter.so.2 file came from. Probably you compiled it manually…

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! :slight_smile:

And why AirVideo can’t use Packman’s version? Try again.

The switch should be used for the special case (AirVideo), not the general one. It’s LD_LIBRARY_PATH.

AirVideo can’t use Packman’s ffmpeg. I did try it some time ago, but no joy. See generally AVS Linux - Download links & information.

Thank you very much for the switch - I will indeed use that for the special case.

Thanks!