0

I need to install python-twisted, so...

$ sudo aptitude install python-twisted
[[...]]
The following packages have unmet dependencies:
 python-twisted-mail: Depends: python-twisted-core (>= 10.1) but
10.0.0-3 is to be installed.
 python-twisted-news: Depends: python-twisted-core (>= 10.1) but
10.0.0-3 is to be installed.
 python-twisted-words: Depends: python-twisted-core (>= 10.1) but
10.0.0-3 is to be installed.
 python-twisted-names: Depends: python-twisted-core (>= 10.1) but
10.0.0-3 is to be installed.
The following actions will resolve these dependencies:
[[...]]

Oh. So it won't install python-twisted, because it depends on... hey, wait a second... Let's check something... http://packages.debian.org/sid/python-twisted-core says that the latest version is 10.1.0-1...

$ sudo aptitude update
[[...]]
$ aptitude show python-twisted-core
Package: python-twisted-core
New: yes
State: not installed
Version: 10.0.0-3
Priority: optional
[[...]]
$ apt-cache policy python-twisted-core
python-twisted-core:
  Installed: (none)
  Candidate: 10.0.0-3
  Version table:
     10.0.0-3 0
        500 http://ftp.us.debian.org unstable/main Packages

Huh. So aptitude, for some reason, still thinks that 10.0.0-3 is the latest version. Which it -so- isn't. Why? Am I on some crappy mirror, or is it because of rogue repositories?

$ cat /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian/ unstable main contrib non-free

Ok, so I'm on the primary Debian mirror, it's been a day since the upgrade, so any cron latency -should- be dealt with by now... and it's still broken. I've even tried the above on a brand new install of Debian Unstable, still to the same tune. I now officially have no clue what to do. Perhaps the Server Fault people can help.

d8uv
  • 101
  • 1
  • 7
  • This would be more suited for SuperUser.com then SF. – Josh Brower Jul 22 '10 at 19:40
  • I picked SF because the computer I'm installing it on is a server. No matter, if a mod wants to migrate it to greener pastures, that's fine by me. – d8uv Jul 22 '10 at 20:02
  • 1
    1. Since you've tried on a brand new install, I'll rule out apt preferences. 2. `aptitude show` reports on *the version it would install*, not on the latest version; your problem is to find why the two are different. 3. What does `apt-cache policy python-twisted-core` say? – Gilles 'SO- stop being evil' Jul 22 '10 at 20:12
  • Added to question. – d8uv Jul 22 '10 at 20:24

2 Answers2

3

Based on the output of apt-cache policy python-twisted-core, apt doesn't see that version 10.1.0-1 exists. It shows version 10.0.0-3 as installable from the source you expect.

Just for reference, the problem could that you forgot to run apt-get update (or something equivalent such as aptitude update), or that the update command failed for some reason such as a network error. But I don't think that's what happened to you.

The problem could be that the mirror is not up to date. But I checked, it seems to have the same contents as other mirrors.

You don't say which architecture you're on. My guess is that your architecture doesn't yet have the newer version.

It often takes a few days for a package to appear in all architectures, because some architectures have more computing power for building than others. While python-twisted-core is architecture-independent, its source package is not. You can see which architectures have which versions by looking at the page of an architecture-dependent package from the same source. I see that as of today, i386 have 10.1.0-1 but amd64 still has 10.0.0-3. python-twisted-mail is from a different package that propagated quickly because it's architecture-dependent.

This is the sort of worry that testing protects you against. Unless you really need the newer version, there's a very good chance that grabbing all your python-twisted packages from testing will solve your problem. The simplest way of doing this is adding testing to your sources.list (since packages from testing are older that packages from unstable, this shouldn't change what gets installed except if you give an explicit request), and manually selecting the 10.0.0-3 versions in the interactive UI of aptitude.

0

The real problem, behind the scenes, can be explained on the relevant debian-user thread:

Thanks, I see. The problem is that the twisted source package (which builds the python-twisted binary package) has not been uploaded yet on amd64, and even though python-twisted is an arch:all package, it is kept at the old version.

Previously, an arch:all package was in sync on all arches, but since that often created uninstallabilities when foo (arch:any) depended on foo-common (arch:all) of the same source version and foo was not built yet, the ftp-masters changed that.

In this case this has the undesirable side effect that packages from a different source package depend on the new version of python-twisted-core, making them uninstallable on amd64.

So, yeah. As in Gilles' answer, the problem was that the package wasn't built for amd64, but because the main package bits are platform independent, it got misplaced in the shuffle. I think. But, it's no worries, just do the workaround as described in Gilles' answer, give notice of your problem to one of the debian mailing lists (like debian-user), hope that they a slightly perplexing bug report, and be patient. This Too Shall Pass. Especially in Sid.

d8uv
  • 101
  • 1
  • 7