do-release-upgrade fails to upgrade from Oneiric to Precise: Couldn't configure pre-depend libtinfo5 for libncurses5, probably a dependency cycle

Bug #924079 reported by Chris Halse Rogers
222
This bug affects 44 people
Affects Status Importance Assigned to Milestone
apt (Ubuntu)
Fix Released
High
Canonical Foundations Team
Oneiric
Won't Fix
High
Canonical Foundations Team
Precise
Fix Released
High
Canonical Foundations Team

Bug Description

On this system, do-release-upgrade is unable to upgrade to Precise. Logs should be attached, if not, I've got them saved.

The system hasn't yet been upgraded successfully, so if you need any additional information not attached here, that can be gathered.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: update-manager-core 1:0.152.25.5
ProcVersionSignature: Ubuntu 3.0.0-8.10-generic 3.0.1
Uname: Linux 3.0.0-8-generic x86_64
ApportVersion: 1.23-0ubuntu4
Architecture: amd64
Date: Tue Jan 31 14:05:27 2012
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_AU.UTF-8
 SHELL=/usr/bin/zsh
SourcePackage: update-manager
UpgradeStatus: Upgraded to oneiric on 2012-01-31 (0 days ago)

Revision history for this message
Chris Halse Rogers (raof) wrote :
tags: added: distribution-upgrade
Colin Watson (cjwatson)
Changed in update-manager (Ubuntu):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Colin Watson (cjwatson) wrote :

Reproduces with 'apt-get dist-upgrade' from a clone of your state. Debug::pkgPackageManager=true says:

SmartConfigure libtinfo5
  DepAdd: libtinfo5
SmartConfigure libtinfo5
  DepAdd: libtinfo5
    DepAdd: libc6
      DepAdd FAILS on: libc6
    DepAdd FAILS on: libtinfo5
PreDepends order for libncurses5
Found ok package multiarch-support
PreDepends order for libncurses5
Trying to SmartConfigure libtinfo5
SmartConfigure libtinfo5
SmartConfigure libtinfo5
  DepAdd: libtinfo5
    DepAdd: libc6
      DepAdd FAILS on: libc6
    DepAdd FAILS on: libtinfo5
PreDepends order for libncurses5
Found ok package multiarch-support
PreDepends order for libncurses5
Trying to SmartConfigure libtinfo5
SmartConfigure libtinfo5
  DepAdd: libtinfo5
    DepAdd: libc6
      DepAdd FAILS on: libc6
    DepAdd FAILS on: libtinfo5
E: Couldn't configure pre-depend libtinfo5 for libncurses5, probably a dependency cycle.

It may be worth noting that this is amd64, and libc6:i386 is being newly installed here.

Revision history for this message
Colin Watson (cjwatson) wrote :
Download full text (12.3 KiB)

With a bit more information:

Beginning to order
Done ordering
PreDepends order for base-files:amd64
Found ok package mawk:amd64
SmartConfigure base-files:amd64
  DepAdd: base-files:amd64
PreDepends order for module-init-tools:amd64
Found ok package dpkg:amd64
PreDepends order for mountall:amd64
Found ok package dpkg:amd64
PreDepends order for libasound2:amd64
Found ok package multiarch-support:amd64
PreDepends order for libasound2:amd64
Found ok package dpkg:amd64
PreDepends order for libasound2:i386
Found ok package multiarch-support:amd64
PreDepends order for libasound2:i386
Found ok package dpkg:amd64
PreDepends order for libc6-dbg:amd64
Found ok package dpkg:amd64
SmartConfigure libc-bin:amd64
  DepAdd: libc-bin:amd64
SmartConfigure libc6:amd64
  DepAdd: libc6:amd64
SmartConfigure libc6:i386
  DepAdd: libc6:i386
    DepAdd FAILS on: libc6:i386
PreDepends order for libudev0:amd64
Found ok package multiarch-support:amd64
PreDepends order for libudev0:i386
Found ok package multiarch-support:amd64
PreDepends order for libattr1:amd64
Found ok package multiarch-support:amd64
PreDepends order for libattr1:i386
Found ok package multiarch-support:amd64
SmartConfigure libattr1:amd64
  DepAdd: libattr1:amd64
SmartConfigure libattr1:i386
  DepAdd: libattr1:i386
    DepAdd: libc6:i386
      DepAdd FAILS on: libc6:i386
    DepAdd FAILS on: libattr1:i386
PreDepends order for libacl1:amd64
Found ok package multiarch-support:amd64
PreDepends order for libacl1:i386
Found ok package multiarch-support:amd64
SmartConfigure libacl1:amd64
  DepAdd: libacl1:amd64
SmartConfigure libacl1:i386
  DepAdd: libacl1:i386
    DepAdd: libattr1:i386
      DepAdd: libc6:i386
        DepAdd FAILS on: libc6:i386
      DepAdd FAILS on: libattr1:i386
    DepAdd FAILS on: libacl1:i386
PreDepends order for debconf:amd64
Found ok package perl-base:amd64
SmartConfigure debconf:amd64
  DepAdd: debconf:amd64
PreDepends order for libpam0g:amd64
Found ok package multiarch-support:amd64
SmartConfigure libpam0g:amd64
  DepAdd: libpam0g:amd64
PreDepends order for libsepol1:amd64
Found ok package multiarch-support:amd64
PreDepends order for libselinux1:amd64
Found ok package multiarch-support:amd64
PreDepends order for libselinux1:i386
Found ok package multiarch-support:amd64
SmartConfigure libselinux1:amd64
  DepAdd: libselinux1:amd64
SmartConfigure libselinux1:i386
  DepAdd: libselinux1:i386
    DepAdd: libc6:i386
      DepAdd FAILS on: libc6:i386
    DepAdd FAILS on: libselinux1:i386
SmartConfigure libpam-modules-bin:amd64
  DepAdd: libpam-modules-bin:amd64
PreDepends order for libpam-modules:amd64
Trying to SmartConfigure libc6:amd64
SmartConfigure libc6:amd64
SmartConfigure libc6:i386
  DepAdd: libc6:i386
    DepAdd FAILS on: libc6:i386
PreDepends order for libpam-modules:amd64
Found ok package libdb5.1:amd64
PreDepends order for libpam-modules:amd64
Trying to SmartConfigure libpam0g:amd64
SmartConfigure libpam0g:amd64
PreDepends order for libpam-modules:amd64
Trying to SmartConfigure libselinux1:amd64
SmartConfigure libselinux1:amd64
SmartConfigure libselinux1:i386
  DepAdd: libselinux1:i386
    DepAdd: libc6:i386
      DepAdd FAILS on: libc6:i386
    DepAdd FAILS on: libselinux1:i3...

Revision history for this message
Colin Watson (cjwatson) wrote :

precise's apt does seem to manage better here. Perhaps we need a backport.

affects: update-manager (Ubuntu) → apt (Ubuntu)
Changed in apt (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Colin Watson (cjwatson) wrote :

Ah, this fix is sufficient:

apt (0.8.16~exp6) experimental; urgency=low

  [ Christopher Baines ]
  * enable APT in unpack/configure ordering to handle loops as well
    as tight dependencies between immediate packages better
    enabling also the possibility to mark all packages as immediate
    (at least Closes: #353290, #540227, #559733, #621836, #639290)

That was a serious project though; I wonder if it's SRUable ...

Revision history for this message
Colin Watson (cjwatson) wrote :

RAOF: Thanks for the reproduction case. You should be able to upgrade your system by first installing apt from precise, and then upgrading as before. Feel free to go ahead and do that, as we have all the necessary state in the attachments.

Revision history for this message
Barry Warsaw (barry) wrote :

Could this bug be related to the fact that dist-upgrade in an amd64 precise always holds back ia32-libs? This package has been held back since I upgraded to precise ages ago, and it breaks things like updating via landscape.

Revision history for this message
Colin Watson (cjwatson) wrote : Re: [Bug 924079] Re: do-release-upgrade fails to upgrade from Oneiric to Precise

On Wed, Feb 01, 2012 at 04:30:18PM -0000, Barry Warsaw wrote:
> Could this bug be related to the fact that dist-upgrade in an amd64
> precise always holds back ia32-libs? This package has been held back
> since I upgraded to precise ages ago, and it breaks things like updating
> via landscape.

I think that's probably separate. This bug relates to calculating the
upgrade correctly but then failing to order unpack/configure operations,
which is later than whatever problem you're encountering.

Revision history for this message
Colin Watson (cjwatson) wrote : Re: do-release-upgrade fails to upgrade from Oneiric to Precise
Revision history for this message
Chris Halse Rogers (raof) wrote :

Huh. Does do-release-upgrade do anything strange with a local copy of apt or something? I've installed Precise's apt, and it's failing in the same way.

Revision history for this message
Chris Halse Rogers (raof) wrote :

Specifically:

apt:
  Installed: 0.8.16~exp5ubuntu14.2
  Candidate: 0.8.16~exp5ubuntu14.2
  Version table:
 *** 0.8.16~exp5ubuntu14.2 0
        100 /var/lib/dpkg/status
     0.8.16~exp5ubuntu13 0
        500 http://mirror.internode.on.net/pub/ubuntu/ubuntu/ oneiric/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ oneiric/main amd64 Packages

Revision history for this message
Chris Halse Rogers (raof) wrote :

Oh, hah! I see, that's just my mirror being a couple of days behind. Trying again with 0.8.16~exp12ubuntu3

Revision history for this message
Chris Halse Rogers (raof) wrote :

Hm, no. It still fails to upgrade with the same message with
apt:
  Installed: 0.8.16~exp12ubuntu3

Revision history for this message
Colin Watson (cjwatson) wrote : Re: [Bug 924079] Re: do-release-upgrade fails to upgrade from Oneiric to Precise

do-release-upgrade uses python-apt, not apt. Sorry for being unclear;
try upgrading python-apt as well.

Revision history for this message
Chris Halse Rogers (raof) wrote : Re: do-release-upgrade fails to upgrade from Oneiric to Precise

Heh. Yes, precise python-apt fixes it.

Revision history for this message
Nick Moffitt (nick-moffitt) wrote :

 Setting up python-apt-common (0.8.3ubuntu3) ...
 Setting up libapt-pkg4.12 (0.8.16~exp12ubuntu3) ...
 Setting up libapt-inst1.4 (0.8.16~exp12ubuntu3) ...
 Setting up python-apt (0.8.3ubuntu3) ...

...and after a successful upgrade, here I am in Precise.

Revision history for this message
Jim MacKenzie (jim-photojim) wrote :

Same problem on my end, but:

E:Couldn't configure pre-depend libtinfo5 for libncurses5, probably a dependency cycle.

I downloaded the Precise packages for apt and python-apt, but apt -i won't install either.

amd64.

Revision history for this message
David Svensson (davidsvensson) wrote :

Quick work-around.

david@bulldog:~$ sudo sed 's/oneiric/precise/g' -i /etc/apt/sources.list && sudo apt-get dist-upgrade

Revision history for this message
David Svensson (davidsvensson) wrote :

Sorry, obviously you need to apt-get update before the dist-upgrade!

Revision history for this message
Tommy Nevtelen (dal) wrote :

That's what I'd do on my debian systems but is it really that simple? Doesn't "do-release-upgrade" do some other magic? Other than disabling ppa:s?
The man-page is very scarce of information.

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

that's unlikely to work around this bug at all, when the bug lies in apt.

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

Just hit this bug. This really needs to be fixed before Precise is released.

tags: added: rls-mgr-p-tracking
Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

@Tommy do-release-upgrade downloads an upgrade file which does some things that can't be done in the actual packages (install upgrade prerequisites, purging packages, fixing proprietary xorg drivers etc.) You can see the DistUpgrade.cfg script for Precise at http://archive.ubuntu.com/ubuntu/dists/precise/main/dist-upgrader-all/current/precise.tar.gz

If you want to complete the upgrade with do-release-upgrade rather than dist-upgrade, just make sure apt is upgraded first:

sed 's/oneiric/precise/g' -i /etc/apt/sources.list
apt-get update
apt-get install apt python-apt
sed 's/precise/oneiric/g' -i /etc/apt/sources.list
do-release-upgrade

Steve Langasek (vorlon)
Changed in apt (Ubuntu Oneiric):
status: New → Triaged
importance: Undecided → High
assignee: nobody → Canonical Foundations Team (canonical-foundations)
eric fortin (nitrof22)
Changed in apt (Ubuntu Oneiric):
status: Triaged → Fix Released
Changed in apt (Ubuntu):
status: Triaged → Fix Released
Steve Langasek (vorlon)
Changed in apt (Ubuntu):
status: Fix Released → Triaged
Changed in apt (Ubuntu Oneiric):
status: Fix Released → Triaged
Revision history for this message
Barry Warsaw (barry) wrote :

After chatting with mvo, he suggests that "backporting [the apt change] would be the best course of action, but its quite a bit of work".

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

Would it work to just mark libtinfo5 as 'keep' until after the dist-upgrade? See _test_and_warn_on_nvidia_and_no_sse() in DistUpgradeQuirks.py for an example. I haven't tested it, but it would be like 3 lines of code instead of backporting apt.

tags: added: oneiric2precise
summary: - do-release-upgrade fails to upgrade from Oneiric to Precise
+ do-release-upgrade fails to upgrade from Oneiric to Precise: Couldn't
+ configure pre-depend libtinfo5 for libncurses5, probably a dependency
+ cycle
Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

I tried to reproduce this yesterday from VarLogDistupgradeAptclonesystemstatetargz.gz above, but couldn't. Steps:

Install oneiric amd64 server iso
apt-clone restore VarLogDistupgradeAptclonesystemstatetargz
do-release-upgrade -d

Revision history for this message
Bill Wheatley (bwheatley) wrote :

I'm running on oneiric and i get the bug. Guess i won't be upgrading today.

Revision history for this message
Bill Wheatley (bwheatley) wrote :
Revision history for this message
Bill Wheatley (bwheatley) wrote :

Of course after doing that i had to dpkg -r roundcube-mysql as well since the new libncurses cause issued issues for that. But now it seems like clear sailing. I suppose this is the best inplace upgrade yet. Only a few minor packages to fix instead of how the last few upgrades went.

Revision history for this message
Claus Gindhart (claus-gindhart) wrote :

Workaround, described by "Chris Bainbridge (chris-bainbridge) wrote on 2012-03-24: #23", worked well for me; thank you.

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

strictly speaking there is no change to be made in apt in precise to fix this, but I've opened a task so that we can track this for 12.04.1. One way or another we ought to fix this by SRU to oneiric, I think.

Changed in apt (Ubuntu Precise):
status: New → Triaged
importance: Undecided → High
milestone: none → ubuntu-12.04.1
Revision history for this message
Juan Bermejo Vega (jbermejovega) wrote :

I also used the workaround proposed by Bill Wheatley. Yet, could anyone explain what action does the command "dpkg -r roundcube-mysq" and why should it be done afterwards?

Changed in apt (Ubuntu Precise):
assignee: nobody → Canonical Foundations Team (canonical-foundations)
Revision history for this message
Adam Conrad (adconrad) wrote :

Seems like this class of "apt is a bit sketchy in older releases" bugs could be worked around by the same "release-upgrader-apt" backport workaround that we used for lucid->precise. Could we maybe just do the same backport to oneiric (and adjust update-manager to use it) and call it good?

Changed in apt (Ubuntu Precise):
milestone: ubuntu-12.04.1 → ubuntu-12.04.2
Colin Watson (cjwatson)
Changed in apt (Ubuntu Precise):
milestone: ubuntu-12.04.2 → ubuntu-12.04.3
Revision history for this message
Odin Hørthe Omdal (velmont) wrote :

The root issue for me was that dovecot-core couldnt get configured because the group "dovecot" didn't exist on the system. So everything failed. This was lucid -> precise.

Revision history for this message
Rolf Leggewie (r0lf) wrote :

oneiric has seen the end of its life and is no longer receiving any updates. Marking the oneiric task for this ticket as "Won't Fix".

Changed in apt (Ubuntu Oneiric):
status: Triaged → Won't Fix
Mathew Hodson (mhodson)
tags: removed: distribution-upgrade
Revision history for this message
Julian Andres Klode (juliank) wrote :

If I judge cjwatson's message correctly, this seems to be fixed:

> Ah, this fix is sufficient:
>
> apt (0.8.16~exp6) experimental; urgency=low
>
> [ Christopher Baines ]
> * enable APT in unpack/configure ordering to handle loops as well
> as tight dependencies between immediate packages better
> enabling also the possibility to mark all packages as immediate
> (at least Closes: #353290, #540227, #559733, #621836, #639290)
>
> That was a serious project though; I wonder if it's SRUable ...

Changed in apt (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Adam Conrad (adconrad) wrote :

Closing the precise task for this. It should have probably been against update-manager, so someone could hack up a workaround, not against apt, which was already fixed, but the point's a bit moot now with both Oneiric and Precise being EOL.

Changed in apt (Ubuntu Precise):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

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