Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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 <ubuntu-devel-discuss@lists.ubuntu.com>
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 <kubuntu-devel@lists.ubuntu.com>
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?

share|improve this question

3 Answers 3

up vote 20 down vote accepted

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

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.