FAAD: AAC Decoder Issues on Ubuntu 7.10
Musicadium has been a fairly significant focus for the development team here at SM2 for a while now. One of things I’m working on at the moment is putting together a library to manage the cross-coding of sound files for the various stores we supply content to.
Although we’re not actually going to be using this tool, I was playing around with the FAAC/FAAD encoding/decoding on Ubuntu-server and ran into some issues which I thought I’d share in-case other people have had them also.
To install these tools you will need to enable the multiverse.
And run these commands to install the necessary packages:
sudo apt-get update sudo apt-get install faac sudo apt-get install faad
Now, they’re installed and ready to go. To learn how to use them just do:
faad -h
The problem I was having was that everytime I went to use FAAD, it would give me this error:
faad: symbol lookup error: faad: undefined symbol: faacDecGetCapabilities
After some time Google-ing around, I found this post, which helped me to track down the problem. I ran this in the command line:
ldd /usr/bin/faad
NOTE: - ldd prints the linked libraries used by a particular command line tool.
and then:
grep faacDecGetCapabilities /usr/lib/libfaad*
NOTE: - grep is a regular expression tool.
Which showed me that they were using different versions of the libraries (the paths were different). This is probably due to the fact that this was on a box that was upgraded from 7.04 to 7.10 server. In any case, my quick fix was just to copy the newer library over the old one:
cp /usr/lib/libfaad.so.0 /usr/local/lib/libfaad.so.0
And FAAD started working! Keep in mind that libfaad.so.0 is a shared library and you could damage something else on your system by doing this, but considering this was a server that doesn’t play audio it wasn’t an issue in my instance.
March 5th, 2008 at 12:28 am
Thank you so, so much for taking the time to post this - you’ve saved me hours of frustration trying to get faad to work!