When installing Multi-Arch: same (meta-)package for two architectures, dpkg considers one arch as completely disappeared

Bug #902603 reported by Афанасьев Антон
This bug affects 58 people
Affects Status Importance Assigned to Milestone
dpkg (Debian)
Fix Released
Unknown
dpkg (Ubuntu)
Fix Released
High
Unassigned
Oneiric
Fix Released
High
Steve Langasek
Precise
Fix Released
High
Unassigned
taglib (Ubuntu)
Fix Released
High
Martin Pitt
Oneiric
Invalid
Undecided
Unassigned
Precise
Fix Released
High
Martin Pitt

Bug Description

As documented in the release notes for 12.04, users of 11.10 64-bit need to upgrade apt and dpkg to the versions on oneiric-updates before upgrading to 12.04.

If you did not install the dpkg update prior to upgrade and have hit this bug as a result, you will need to manually recover by running the following commands from a terminal:

 find /var/cache/apt/archives -name 'libjpeg8_*.deb' -name 'libtag1c2a_*.deb' \
     -name 'odbcinst_*.deb' -name 'libccid_*.deb' -name 'libao-common_*.deb' | sudo xargs dpkg -i
 sudo apt-get -f install

ProblemType: Package
DistroRelease: Ubuntu 12.04
Package: python-papyon 0.5.6-1
ProcVersionSignature: Ubuntu 3.2.0-3.9-generic 3.2.0-rc4
Uname: Linux 3.2.0-3-generic x86_64
NonfreeKernelModules: fglrx
ApportVersion: 1.90-0ubuntu1
Architecture: amd64
Date: Sat Dec 10 22:08:20 2011
ErrorMessage: ErrorMessage: dependency problems - leaving unconfigured
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta amd64+mac (20110901)
PackageArchitecture: all
SourcePackage: papyon
Title: package python-papyon 0.5.6-1 failed to install/upgrade: ErrorMessage: dependency problems - leaving unconfigured
UpgradeStatus: Upgraded to precise on 2011-12-10 (0 days ago)

WORKAROUND:
Run:
 $ dpkg -i /var/cache/apt/archives/dpkg_*.deb; dpkg -i /var/cache/apt/archives/libjpeg8_*.deb; apt-get -f install

Revision history for this message
Афанасьев Антон (callofbeliar) wrote :
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

Thanks for your report.

From the log here is the cause of the failure:
dpkg: dependency problems prevent configuration of gstreamer0.10-plugins-good:
 gstreamer0.10-plugins-good depends on libtag1c2a (>= 1.5); however:
  Package libtag1c2a is not installed.
dpkg: error processing gstreamer0.10-plugins-good (--configure):
 dependency problems - leaving unconfigured

And the lines related to libtag1c2a

Preparing to replace libtag1c2a 1.7-1 (using .../libtag1c2a_1.7-1ubuntu1_amd64.deb) ...
Unpacking replacement libtag1c2a ...
Selecting previously deselected package libtag1c2a:i386.
Unpacking libtag1c2a:i386 (from .../libtag1c2a_1.7-1ubuntu1_i386.deb) ...
[...]
(Noting disappearance of libtag1c2a, which has been completely replaced.)

affects: papyon (Ubuntu) → gst-plugins-good0.10 (Ubuntu)
Changed in gst-plugins-good0.10 (Ubuntu):
importance: Undecided → High
status: New → Triaged
summary: - package python-papyon 0.5.6-1 failed to install/upgrade: ErrorMessage:
- dependency problems - leaving unconfigured
+ oneiric to precise - gstreamer0.10-plugins-good failed to configure due
+ to dependency on libtag1c2a
tags: added: dist-upgrade oneiric2precise
Changed in gst-plugins-good0.10 (Ubuntu Precise):
assignee: nobody → Canonical Desktop Team (canonical-desktop-team)
tags: added: rls-mgr-p-tracking
Martin Pitt (pitti)
tags: added: rls-p-tracking
removed: rls-mgr-p-tracking
Revision history for this message
Martin Pitt (pitti) wrote : Re: oneiric to precise - gstreamer0.10-plugins-good failed to configure due to dependency on libtag1c2a

libtag1c2a is an empty metapackage, so installing libtag1c2a:i386 will appear to dpkg as entirely replacing it.

I was able to reproduce this in today's precise amd64 live system with

  sudo apt-get update
  sudo apt-get install --reinstall libtag1c2a{,:i386} gstreamer0.10-plugins-good

libtag1c2a is already marked as "Multi-Arch: same", so this actually seems to be a dpkg bug? As a workaround we could ship a fake /usr/share/doc/libtag1c2a/<architecture>.txt file?

Changed in gst-plugins-good0.10 (Ubuntu Precise):
assignee: Canonical Desktop Team (canonical-desktop-team) → Martin Pitt (pitti)
Revision history for this message
Martin Pitt (pitti) wrote :

This is also mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632555#20 (thanks to Colin for pointing out)

affects: gst-plugins-good0.10 (Ubuntu Precise) → taglib (Ubuntu Precise)
Martin Pitt (pitti)
summary: - oneiric to precise - gstreamer0.10-plugins-good failed to configure due
- to dependency on libtag1c2a
+ When installing Multi-Arch: same (meta-)package for two architectures,
+ dpkg considers one arch as completely disappeared
Steve Langasek (vorlon)
Changed in dpkg (Ubuntu Precise):
status: New → Triaged
importance: Undecided → High
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package taglib - 1.7-1ubuntu2

---------------
taglib (1.7-1ubuntu2) precise; urgency=low

  * debian/rules: Work around dpkg multi-arch bug by creating an empty stamp
    file named after the build arch. (LP: #902603)
 -- Martin Pitt <email address hidden> Wed, 14 Dec 2011 16:21:16 +0100

Changed in taglib (Ubuntu Precise):
status: Triaged → Fix Released
Revision history for this message
Raphaël Hertzog (hertzog) wrote :

Here's the proposed patch for dpkg. Not tested but should be ok.

Revision history for this message
Martin Pitt (pitti) wrote :

Many thanks Raphaël, it works perfectly!

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dpkg - 1.16.1.2ubuntu4

---------------
dpkg (1.16.1.2ubuntu4) precise; urgency=low

  * dpkg: Do not try to disappear other packages from the same set. Packages
    within a set can rightfully share files and should not be disappeared in
    the case where they share all the files. Many thanks to Raphaël Hertzog
    for the fix! (Closes: #652063, LP: #902603)
 -- Martin Pitt <email address hidden> Thu, 15 Dec 2011 11:33:28 +0100

Changed in dpkg (Ubuntu Precise):
status: Triaged → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

taglib (1.7-1ubuntu3) precise; urgency=low

  * debian/rules: Drop LP #902603 workaround, dpkg is fixed now.

 -- Martin Pitt <email address hidden> Thu, 15 Dec 2011 11:37:25 +0100

Revision history for this message
Steve Langasek (vorlon) wrote :

Still seeing this with the latest version of dpkg in precise. On an apt-get run following the install of libtag1c2a:i386:

[...]
(Noting disappearance of libtag1c2a:i386, which has been completely replaced.)
[...]
The following package disappeared from your system as
all files have been overwritten by other packages:
  libtag1c2a
Note: This is done automatic and on purpose by dpkg.

Changed in taglib (Ubuntu Precise):
status: Fix Released → Triaged
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "Dpkg patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Revision history for this message
Raphaël Hertzog (hertzog) wrote : Re: [Bug 902603] Re: When installing Multi-Arch: same (meta-)package for two architectures, dpkg considers one arch as completely disappeared
  • patch Edit (1.9 KiB, text/plain; charset=utf-8)

On Fri, 16 Dec 2011, Steve Langasek wrote:
> Still seeing this with the latest version of dpkg in precise. On an
> apt-get run following the install of libtag1c2a:i386:
>
> [...]
> (Noting disappearance of libtag1c2a:i386, which has been completely replaced.)
> [...]
> The following package disappeared from your system as
> all files have been overwritten by other packages:
> libtag1c2a
> Note: This is done automatic and on purpose by dpkg.

Hum, right. Here's a second version of the patch. Note that you must
revert the previous one as I changed the logic to restrict the
test to multi-arch same packages.

It seems to work now.

Cheers,
--
Raphaël Hertzog ◈ Debian Developer

Pre-order a copy of the Debian Administrator's Handbook and help
liberate it: http://debian-handbook.info/liberation/

Revision history for this message
Martin Pitt (pitti) wrote :

Indeed, I get this with libtag1c2a as well. Yesterday I tested it with libpthread-stubs0:i386 and that seemed to work (it previously failed).

Changed in dpkg (Ubuntu Precise):
status: Fix Released → Triaged
Revision history for this message
Martin Pitt (pitti) wrote :

While it works with the original test case now:

  sudo apt-get install --reinstall libpthread-stubs0{,:i386} libpthread-stubs0-dev

it still fails when you do it separately:

$ LANG= sudo apt-get install --reinstall libpthread-stubs0{,:i386} libpthread-stubs0-dev
[...]
The following NEW packages will be installed:
  libpthread-stubs0:i386
Preparing to replace libpthread-stubs0 0.3-2.1ubuntu1 (using .../libpthread-stubs0_0.3-2.1ubuntu1_amd64.deb) ...
Unpacking replacement libpthread-stubs0 ...
Selecting previously unselected package libpthread-stubs0:i386.
Unpacking libpthread-stubs0:i386 (from .../libpthread-stubs0_0.3-2.1ubuntu1_i386.deb) ...
Preparing to replace libpthread-stubs0-dev 0.3-2.1ubuntu1 (using .../libpthread-stubs0-dev_0.3-2.1ubuntu1_amd64.deb) ...
Unpacking replacement libpthread-stubs0-dev ...
Setting up libpthread-stubs0 (0.3-2.1ubuntu1) ...
Setting up libpthread-stubs0:i386 (0.3-2.1ubuntu1) ...
Setting up libpthread-stubs0-dev (0.3-2.1ubuntu1) ...

$ LANG= sudo apt-get install --reinstall libpthread-stubs0-dev
[...]
Preparing to replace libpthread-stubs0-dev 0.3-2.1ubuntu1 (using .../libpthread-stubs0-dev_0.3-2.1ubuntu1_amd64.deb) ...
Unpacking replacement libpthread-stubs0-dev ...
(Noting disappearance of libpthread-stubs0:i386, which has been completely replaced.)
Setting up libpthread-stubs0-dev (0.3-2.1ubuntu1) ...
The following package disappeared from your system as
all files have been overwritten by other packages:
  libpthread-stubs0
Note: This is done automatic and on purpose by dpkg.

Revision history for this message
Martin Pitt (pitti) wrote :

taglib (1.7-1ubuntu4) precise; urgency=low

  * Reapply LP #902603 workaround, dpkg fix is incomplete.

 -- Martin Pitt <email address hidden> Fri, 16 Dec 2011 10:45:53 +0100

Changed in taglib (Ubuntu Precise):
status: Triaged → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

Thanks Raphaël! I tried this with umpteen variants and I am unable to break it now.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dpkg - 1.16.1.2ubuntu5

---------------
dpkg (1.16.1.2ubuntu5) precise; urgency=low

  * New version of previous patch, many thanks Raphaël Hertzog! (LP: #902603)
 -- Martin Pitt <email address hidden> Fri, 16 Dec 2011 11:23:51 +0100

Changed in dpkg (Ubuntu Precise):
status: Triaged → Fix Released
Changed in dpkg (Debian):
status: Unknown → New
Revision history for this message
Martin Pitt (pitti) wrote :

taglib (1.7-1ubuntu5) precise; urgency=low

  * debian/rules: Drop LP #902603 workaround again, dpkg is really fixed now.

 -- Martin Pitt <email address hidden> Sun, 18 Dec 2011 09:46:21 +0100

Changed in dpkg (Debian):
status: New → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote :

This bug hits upgrades from oneiric to precise with a non-zero percentage when ia32-libs is installed, depending on the unpack order of packages. I think we want this dpkg fix in oneiric for upgrades.

Changed in taglib (Ubuntu Oneiric):
status: New → Invalid
Changed in dpkg (Ubuntu Oneiric):
status: New → Triaged
importance: Undecided → High
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Revision history for this message
Ursula Junque (ursinha) wrote :

As a workaround, run:
 $ dpkg -i /var/cache/apt/archives/dpkg_*.deb; dpkg -i /var/cache/apt/archives/libjpeg8_*.deb; apt-get -f install

This should unbreak apt and finish the upgrade.

summary: - When installing Multi-Arch: same (meta-)package for two architectures,
- dpkg considers one arch as completely disappeared
+ [Workaround] When installing Multi-Arch: same (meta-)package for two
+ architectures, dpkg considers one arch as completely disappeared
summary: - [Workaround] When installing Multi-Arch: same (meta-)package for two
- architectures, dpkg considers one arch as completely disappeared
+ When installing Multi-Arch: same (meta-)package for two architectures,
+ dpkg considers one arch as completely disappeared
tags: added: workaround
Steve Langasek (vorlon)
Changed in dpkg (Ubuntu Oneiric):
assignee: Canonical Foundations Team (canonical-foundations) → Steve Langasek (vorlon)
Ursula Junque (ursinha)
description: updated
Revision history for this message
Colin Watson (cjwatson) wrote : Please test proposed package

Hello Афанасьев, or anyone else affected,

Accepted dpkg into oneiric-proposed. The package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in dpkg (Ubuntu Oneiric):
status: Triaged → Fix Committed
tags: added: verification-needed
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

SRU verification for Oneiric:
I have reproduced the problem with dpkg 1.16.0.3ubuntu5 in oneiric and have verified that the version of dpkg 1.16.0.3ubuntu5.1 in -proposed fixes the issue.

Marking as verification-done

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dpkg - 1.16.0.3ubuntu5.1

---------------
dpkg (1.16.0.3ubuntu5.1) oneiric-proposed; urgency=low

  * Backport patch that avoids disappearing other packages from the same set.
    Packages within a set can rightfully share files and should not be
    disappeared in the case where they share all the files. LP: #902603.
 -- Steve Langasek <email address hidden> Mon, 16 Apr 2012 20:54:37 -0700

Changed in dpkg (Ubuntu Oneiric):
status: Fix Committed → Fix Released
tags: added: bugpattern-written
Steve Langasek (vorlon)
description: updated
Steve Langasek (vorlon)
description: updated
Revision history for this message
Pedro Ricardo (chascos4) wrote :

Podrían ayudarme

Revision history for this message
Michael Nagel (nailor) wrote :

I just reported Bug #1022029 that basically gives me
======
The following packages have unmet dependencies:
 libtiff4 : Breaks: libtiff4:i386 (!= 3.9.5-2ubuntu1) but 3.9.5-2ubuntu1.1 is installed
 libtiff4:i386 : Breaks: libtiff4 (!= 3.9.5-2ubuntu1.1) but 3.9.5-2ubuntu1 is installed
======

when I noticed that Bug #991131 is marked as a duplicate of this bug here. In Bug #991131 the error is
======
Title: package libtiff4 3.9.5-2ubuntu1 failed to install/upgrade: ErrorMessage: dependency problems - leaving unconfigured
======

so I am wondering if my problem is a duplicate as well (and the issue is not fixed completly) or if it is unrelated.
I'd appreciate if you could have a look at it.

Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 902603] Re: When installing Multi-Arch: same (meta-)package for two architectures, dpkg considers one arch as completely disappeared

On Sat, Jul 07, 2012 at 09:11:02AM -0000, Michael Nagel wrote:
> I just reported Bug #1022029 that basically gives me
> ======
> The following packages have unmet dependencies:
> libtiff4 : Breaks: libtiff4:i386 (!= 3.9.5-2ubuntu1) but 3.9.5-2ubuntu1.1 is installed
> libtiff4:i386 : Breaks: libtiff4 (!= 3.9.5-2ubuntu1.1) but 3.9.5-2ubuntu1 is installed
> ======

> so I am wondering if my problem is a duplicate as well (and the issue is
> not fixed completly) or if it is unrelated. I'd appreciate if you could
> have a look at it.

Unrelated. To install multiarch library packages for more than one
architecture, they must be at the same version. The output above shows that
one of the architectures is coming from precise, and the other is coming
from precise-updates. You will need to fix your config so that both are
coming from precise-updates.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.