FS#36379 - [vlc] links against wrong libavcodec

Attached to Project: Arch Linux
Opened by Philip Sequeira (qmega) - Friday, 02 August 2013, 08:07 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Friday, 02 August 2013, 09:44 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


I can build vlc 2.0.8-1 fine (after adding --disable-live555 to the configure), but when I try to play a video I get something like this (using the -v flag on the command line):

[0x...] main decoder warning: cannot load module `/usr/lib/vlc/plugins/codec/libavcodec_plugin.so' (/usr/lib/vlc/plugins/codec/libavcodec_plugin.so: undefined symbol: avcodec_open)
[0x...] main decoder error: corrupt module: /usr/lib/vlc/plugins/codec/libavcodec_plugin.so
[0x...] main decoder error: no suitable decoder module for fourcc `h264'. VLC probably does not support this sound or video format.

I've already fixed  FS#36375  locally, and that fixes the official vlc package, but not my own build.

It should be using libavcodec 53 from ffmpeg-compat, and it does seem at least think it is, because it appears to be using avcodec_open instead of avcodec_open2 (which it uses for libavcodec >= 54), and also because it actually builds (removing the ffmpeg-compat pkgconfig from the configure makes the build fail claiming not to support avcodec 55+). However, running ldd on /usr/lib/vlc/plugins/codec/libavcodec_plugin.so shows it linked against libavcodec.so.55, so something seems to be using the wrong version. Forcing the old version in with LD_PRELOAD makes the module load but it (predictably) fails to actually open the codec ("codec type or id mismatches").

Basically, at some point in the build process it's using the non-compat version of the ffmpeg libs, but I have no idea why. I suppose it could be something weird about my system, but I'm not doing anything fancy with the build right now so I'm not sure what it would be.
This task depends upon

Closed by  Bartłomiej Piotrowski (Barthalion)
Friday, 02 August 2013, 09:44 GMT
Reason for closing:  Not a bug
Additional comments about closing:  VLC in repositories is correctly build against ffmpeg-compat. There is nothing to fix from our side.