When I run aptitude install ia32-libs it gives me this output (on Pastebin due to length constraints of StackExchange).
The install fails, as it leaves ia32-libs in a Not Installed state. All other solutions that it suggests to me are pretty useless too.

I've tried purging every ppa and reverting to default repositories of Ubuntu, but it didn't help.

Could you help me?

UPDATEthis is the output of apt-get install ia32-libs-multiarch. as it seems, apt-get tries to be less "smart" compared to aptitude, and it prints a more comprehensive output.
i tried to manually install one of the packages that it recalls, gstreamer0.10-plugins-good:i386, but it lead to installing libpixman-1-0:i386, and as you can see there, it basically tries to remove everything that is installed on my machine!
what's going on?

If you have multiarch enabled, you shouldn't need to install ia32-libs or ia32-libs-multiarch. These two packages are kept just for 'historical' reasons (i.e. avoid broken dependencies).
–
Andrea CorbelliniJan 29 '13 at 16:44

i need to install these packages to run android development tools on my system. btw, how can i enable multiarch? and what is it?
–
sazaryJan 29 '13 at 19:32

lastly i found this solution, mainly by chance, since i don't know why this problem had occured in first place, and i don't know why this solution works. but it works.
for example i found that my system has difficulties installing libpixman-1-0 package. then this is what i must do:
1. open /var/lib/dpkg/status. this is a sensitive file, so consider taking a backup from it beforehand.
2. search for the line that is Package: libpixman-1-0. after this line, there should be a paragraph like this:

3. in my own case, there were multiple entries for this package, in fact two. find them all.
4. simply delete them!
5. now apt-get doesn't know anything about this package, and it assumes that it is not installed (though it is). so it thinks that any package that is dependent on libpixman-1-0 is now broken. you should run apt-get -f install. it simply tells apt-get to fix broken dependencies. in our case, it installs libpixman-1-0 properly.
6. now test again apt-get install ia32-libs-multiarch. if it doesn't install properly, find the other packages like libpixman-1-0 that are misbehaving. do these things for them too.

but how did i find that libpixman-1-0 is problematic? if you run apt-get install ia32-libs-multiarch it complains about some packages that are needed but can't be installed. try to install them by apt-get and it will tell you why they can't be installed. this way you can find the root of problem.