by mikaelh » Fri Jun 25, 2010 9:10 am
Ok, I finally figured out why the pre-built Linux client doesn't work on Fedora. The problem is that I had included only 2 components of libvorbis: libvorbisfile.so.3 and libvorbis.so.0. The final component is libvorbisenc.so.2 which is pretty big (3 MB). I didn't even consider including libvorbisenc.so.2 because the client is only decoding vorbis-encoded audio. However, it turns out that the PulseAudio libraries need libvorbisenc.so.2. Since I took libvorbisfile.so.3 and libvorbis.so.0 from Debian stable, they were pretty old. Fedora has a much newer libvorbisenc.so.2, which isn't compatible with the old libvorbis library files included with the client. Loading the new libvorbisenc.so.2 library after the older libvorbisfile.so.3 and libvorbis.so.0 had already been loaded is what eventually caused the crash.
The solution is to remove the libvorbisfile.so.3 and libvorbis.so.0 files included with the client. You can also remove libogg.so.0 since any system that has libvorbis, must also have libogg.
I have also decided to remove those files from the linux client packages because I think most Linux desktops should have libogg and libvorbis installed and because I don't want to include the huge libvorbisenc.so.2 file with the client.
And finally thanks for reporting the problem.