To try to expand on the lib part: A library is basically a collection of reusable code that is incorporated into the source code of a particular app when it's compiled (or maybe invoked during runtime). To do a simple shell script example (cuz that's all I can do
), if you had a function defined in ~/.bash_profile
and used 'calc' in a script, ~/.bash_profile would be acting sort of like a library when your command (script) was interpreted. If you deleted those lines from your profile, your script would no longer run properly because 'calc' wouldn't exist. As bash knits those together in interpreting, so a library contains code that gcc knits together in compiling. The xmms source code says 'include this code from this lib' and gcc says, 'okay, here's the file, here's the code - done'. If it can't find the code it can't include it and either errors out or, if it goes ahead, the code will be incomplete and the app will be broken. As far as how you get it, you just search for it and download it, or use your distro's package management tools like anything else and, as far as what you (as a user) do with it, you just install it - if it's in the places gcc looks when looking to include stuff, all is roses.
Somebody who actually knows what they're talking about could probably explain it better. And I'd be happy to hear it and understand it better, myself.