Why do some packages conflict with themselves?
Solution 1
Oneiric supports Multi-Arch, that is, allowing you to install packages of different architectures simultaneously (currently i386 and amd64 a.k.a. 32-bit and 64-bit). Some packages cannot be installed simultaneously (like libc6:i386 and libc6:amd64). aptitude
cannot handle these cases and therefore thinks that it may be a good idea to remove those packages. It's recommended to use apt-get
now.
If you use apt-cache show libc-bin
, you can see the line mentioning this conflict:
Multi-Arch: foreign
A description of this field can be found at http://wiki.debian.org/Multiarch/Implementation#Multi-Arch:_foreign_support_packages
Solution 2
Aptitude isn't showing you the whole story.
$ apt-cache depends libc-bin | grep Conflicts
Conflicts: libc-bin:i386
I'm on a 64bit install so it's actually only conflicting with its 32bit counterpart.
Solution 3
You've run into bug 831768.
aptitude
doesn't understand multiarch yet, I'm afraid. It's best to avoid aptitude
until this is resolved. One can survive with apt-get
.
Related videos on Youtube
ulidtko
Been using, spreading & locally supporting Ubuntu since Hardy Heron (8.04). 10+ years long contributor, wow!
Updated on September 18, 2022Comments
-
ulidtko over 1 year
After an upgrade to Oneiric I have had some troubles with the package manager (it wanted to remove half of my system, including libc6, zlib1g packages etc). During the fight with aptitude I've noticed that some packages have meta-information which states that they conflict with themselves. Examples:
% aptitude show libc-bin Package: libc-bin Essential: yes New: yes State: installed Automatically installed: no Version: 2.13-20ubuntu5 Priority: required Section: libs Maintainer: Ubuntu Developers <[email protected]> Uncompressed Size: 3,420 k Conflicts: libc-bin Breaks: libc0.1 (< 2.10), libc0.1 (< 2.10), libc0.3 (< 2.10), libc0.3 (< 2.10), libc6 (< 2.10), libc6 (< 2.10), libc6.1 (< 2.10), libc6.1 (< 2.10) Replaces: libc0.1, libc0.1, libc0.3, libc0.3, libc6, libc6, libc6.1, libc6.1 Provides: libc-bin Provided by: libc-bin Description: Embedded GNU C Library: Binaries
See the
Conflicts: libc-bin
line? One more:% aptitude show qdbus Package: qdbus New: yes State: installed Automatically installed: no Version: 4:4.7.4-0ubuntu8.1 Priority: optional Section: libs Maintainer: Kubuntu Developers <[email protected]> Uncompressed Size: 213 k Depends: libc6 (>= 2.3.4), libgcc1 (>= 1:4.1.1), libqt4-dbus (= 4:4.7.4-0ubuntu8.1), libqt4-xml (= 4:4.7.4-0ubuntu8.1), libqtcore4 (= 4:4.7.4-0ubuntu8.1), libstdc++6 (>= 4.1.1) Conflicts: qdbus Breaks: libqt4-dbus (< 4:4.7.3-4ubuntu5), libqt4-dbus (< 4:4.7.3-4ubuntu5), qt4-dev-tools (< 4:4.7.3-4ubuntu6), qt4-dev-tools (< 4:4.7.3-4ubuntu6) Replaces: libqt4-dbus (< 4:4.7.3-4ubuntu5), libqt4-dbus (< 4:4.7.3-4ubuntu5), qt4-dev-tools (< 4:4.7.3-4ubuntu6), qt4-dev-tools (< 4:4.7.3-4ubuntu6) Provides: qdbus Provided by: qdbus Description: Qt 4 Dbus Tool
The same "conflicts with itself" feature.
I've resolved my troubles with the package manager now, but the question still bothers me: what does it mean when a package conflicts on itself? What is this used for?