ZSNES crash on startup with libao on Linux x86-64
Distros seem to ship broken libao packages for 32 bit compatibility on x86-64.
However to fix them yourself is quite easy.
libao checks for its drivers in: /usr/lib/ao/plugins-2/
A 32 bit libao will check there, and not finding anything it can use, since they're all 64 bit, it will crash.
32 bit libao will install its 32 bit drivers in /usr/lib32/ao/plugins-2/ or some other location on your machine. I for example have them in /var/chroot/sid-ia32/usr/lib/ao/plugins-2/.
You should be able to find them by typing "locate ao/plugins-2" into a terminal.
Once you find them, you have to copy the drivers you're going to use into /usr/lib/ao/plugins-2/, or create a link to them there. Be careful to give the copies/links new names, so you don't overwrite the 64 bit ones.
Here's an example of how to create a symbolic link:
Notice I appended -32 to each example so it shouldn't conflict with the name of a 64 bit driver.
Once you link/copy all the drivers you need to /usr/lib/ao/plugins-2/, libao shouldn't crash when ZSNES starts up, and you'll be able to use ZSNES.
If in doubt, symlink all your 32 bit drivers to /usr/lib/ao/plugins-2/.