Attempting to make some ruby gems work, I discovered I needed to install the dev ruby package, which apparently required the dev libc6. When I tried to install it (using the approved squeeze apt-sources), I discovered the latest libc6-dev was out of sync with my current version of libc.
It turns out the version of libc6 I should be using (according to apt) should be libc6 2.11.3-2. I am instead on libc6 2.13-7. At some point a user must have used an upstream source to do something and it grabbed a new libc6.
My question is this: if I want to get back in line with the approved versions for my OS, will I need to uninstall libc6 and all its dependent programs and then reinstall them via apt-get, or is there a better way to do this?
I've also discovered that the latest libc6-dev is uncompatible with the current version of gcc I have (4.4), so going forward isn't an option unless I do that too.
EDIT: The solution we ended up using was to use aptitude to download the .deb files, and then use dpkg to install them.
For example, navigate to /var/cache/apt/archives (just to keep them in the same place apt-get puts them)
execute the following:
aptitude download libc6 -t squeeze dpkg --force-depends -i <name of package>.deb
This resolved that issue, but obviously it caused another set of dependency issues. Each one can be resolved in the same way.
aptitude download libc-bin -t squeeze dpkg --force-depends -i <name of package>.deb