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:
Package: libpixman-1-0
Status: install ok installed
Multi-Arch: same
Priority: optional
Section: libs
Installed-Size: 582
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Source: pixman
Version: 0.24.4-1
Depends: libc6 (>= 2.14)
Pre-Depends: multiarch-support
Description: pixel-manipulation library for X and cairo
A library for manipulating pixel regions -- a set of Y-X banded
rectangles, image compositing using the Porter/Duff model
and implicit mask generation for geometric primitives including
trapezoids, triangles, and rectangles.
Original-Maintainer: Debian X Strike Force <[email protected]>
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.
ia32-libs
oria32-libs-multiarch
. These two packages are kept just for 'historical' reasons (i.e. avoid broken dependencies).ia32-libs
nowadays and what the alternative is. For the same reason: avoidaptitude
for the time being - it's not working with Multi-arch yet: LP Bug #831768 - aptitude cannot handle conflicts with multiarch enabledia32-libs
it automatically tries to installia32-libs-multiarch
.