« libffmpeg_decoder.so: undefined symbol: avcodec_decode_audio » when trying to play aac files

Hi,

The server throws that error and crashes whenever I try to play an aac file (the high efficiency variety). This with moc 2.4.4 (latest stable) configured with:
./configure --prefix=/usr --without-rcc --without-aac \
--with-oss --with-alsa --with-jack --with-mp3 \
--with-musepack --with-vorbis --with-flac --with-wavpack \
--with-sndfile --with-modplug --with-ffmpeg --with-speex \
--with-samplerate --with-curl
(official archlinux x86_64 package [1])

Actually the complete error is:
mocp: symbol lookup error: /usr/lib/moc/decoder_plugins/libffmpeg_decoder.so: undefined symbol: avcodec_decode_audio

As for the latest alpha (2.5.0 alpha4 [2]) and latest svn revision (2255 [3]), they don't even show the aac files in the browser.

(I modified the configure flags for the alpha to include --with-ffmpeg and --with-sndfile)

ffmpeg is from svn, revision 25679. [4]

So, what to do?

[1] http://repos.archlinux.org/wsvn/packages/moc/trunk/PKGBUILD
[2] https://aur.archlinux.org/packages.php?ID=15389
[3] https://aur.archlinux.org/packages.php?ID=12793
[4] http://repos.archlinux.org/wsvn/packages/ffmpeg/trunk/PKGBUILD

Well the crash error means you have a moc at hand that was built against an older version of ffmpeg (have a look at decoder_plugins/ffmpeg/ffmpeg.c) and then arch decided to upgrade ffmpeg without fixing moc. If that is the case reinstall plain moc and try. If it fails, file a bug with arch.

As for why you can't see the files anymore: That is really hard to tell without some kind of configure log. Is there a good reason for not using faad instead of ffmpeg? That should give you less trouble. The arch package is extra/faad2 i think

Thanks for the reply.

I forgot to say that the first thing I tried was rebuild the official moc package (2.4.4). The error+crash didn't go away.

The reason for not trying --with-aac is this bug report: https://bugs.archlinux.org/task/13164
I just built moc from svn configured with --with-aac and --without-ffmpeg and it works. Plays aac files just fine. Unfortunately I don't remember the exact configure flags I used before, when the aac files didn't even show up.