Your message dated Fri, 15 Apr 2016 11:16:43 +0200 with message-id <20160415091643.GB11507@crossbow> and subject line Re: Bug#819830: apt: unhelpful error message when trying to install build-dependencies for cargo in testing has caused the Debian Bug report #819830, regarding apt: unhelpful error message when trying to install build-dependencies for cargo in testing to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 819830: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819830 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian BTS <submit@bugs.debian.org>
- Subject: apt: unhelpful error message when trying to install build-dependencies for cargo in testing
- From: Santiago Vila <sanvila@unex.es>
- Date: Sat, 2 Apr 2016 22:54:23 +0200 (CEST)
- Message-id: <[🔎] alpine.DEB.2.11.1604022235190.19153@cantor.unex.es>
Package: apt Version: 1.2.9 Dear maintainers: On a stretch chroot I'm unable to do this: # apt-get build-dep cargo Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:cargo : Depends: libcurl4-openssl-dev but it is not going to be installed E: Unable to correct problems, you have held broken packages. Ok, let's try to install libcurl4-openssl-dev by hand: # apt-get install libcurl4-openssl-dev Reading package lists... Done Building dependency tree Reading state information... Done [...] Do you want to continue? [Y/n] I answer "yes" and the libcurl4-openssl-dev package is now installed. Let's try again: # apt-get build-dep cargo Reading package lists... Done Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:cargo : Depends: libcurl4-openssl-dev but it is not going to be installed E: Unable to correct problems, you have held broken packages. But it's installed! How is this possible? Information that may be relevant: "apt-cache showsrc cargo" shows this: Package: cargo [...] Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), rustc (>= 1.1), curl, pkg-config, cmake, git, cargo (>= 0.7.0) <stage2>, python-dulwich <!stage2>, python-pytoml <!stage2>, ca-certificates, bash-completion, libhttp-parser-dev, libcurl4-openssl-dev, libssh2-1-dev, libgit2-dev, libssl-dev, zlib1g-dev [...] I believe testing is inconsistent right now, because installing libgit2-dev by hand removes libcurl4-openssl-dev. But even in such case, the message from apt is very misleading, as it says libcurl4-openssl-dev may not be installed, which, alone, is not true. It should probably say that libgit2-dev and libcurl4-openssl-dev may not be both installed. Thanks.
--- End Message ---
--- Begin Message ---
- To: Santiago Vila <sanvila@unex.es>, 819830-done@bugs.debian.org
- Subject: Re: Bug#819830: apt: unhelpful error message when trying to install build-dependencies for cargo in testing
- From: David Kalnischkies <david@kalnischkies.de>
- Date: Fri, 15 Apr 2016 11:16:43 +0200
- Message-id: <20160415091643.GB11507@crossbow>
- In-reply-to: <[🔎] alpine.DEB.2.11.1604022235190.19153@cantor.unex.es>
- References: <[🔎] alpine.DEB.2.11.1604022235190.19153@cantor.unex.es>
On Sat, Apr 02, 2016 at 10:54:23PM +0200, Santiago Vila wrote: > # apt-get build-dep cargo > Reading package lists... Done > Reading package lists... Done > Building dependency tree > Reading state information... Done > Some packages could not be installed. This may mean that you have > requested an impossible situation or if you are using the unstable > distribution that some required packages have not yet been created > or been moved out of Incoming. > The following information may help to resolve the situation: > > The following packages have unmet dependencies: > builddeps:cargo : Depends: libcurl4-openssl-dev but it is not going to be installed > E: Unable to correct problems, you have held broken packages. > > > But it's installed! How is this possible? It is installed before the apt command, but after the apt command "it is not *going to be* installed" (anymore), which is a problem as we wanted the command to install it (or in that case keep it installed) so apt errors out. Held broken packages you have because the (made up) package 'builddeps:cargo' which is the one the "some packages couldn't be installed" is referring to and has all build-dependencies as depends is broken (= its dependencies can't be satisfied). Every package mentioned on the commandline is held in the requested state (apt would usually remove packages it can't fix, but that would be pointless here, so its forbidden with a hold). So, the summary is: "you have requested an impossible situation". Why it is impossible is hard to figure out. Humans can waste hours figure such things out, a program like apt isn't very good at doing it either as it wants to find a working solution and not find the "best" solution which doesn't work (after all, what makes a non-working solution which [not] removes dpkg any better than any other non-working solution?). So what apt does is to tell the user what it hasn't managed to achieve and in this case it is satisfying the builddeps:cargo depends on libcurl4-openssl-dev as the only "solution" it came up with includes not installing this package. So, the message is as helpful as it can be in the general case if it is carefully read and understood. Therefore closing as not a bug. (I recognize that in this very specific case slightly different text might be easier to understand, but that text/code has to work for all kinds of possible problems where the situation isn't as clear cut, not just this one – that apt displays such a detailed message at all can be considered a feature already as other solvers just say "deps not satisfied" and be done) Best regards David KalnischkiesAttachment: signature.asc
Description: PGP signature
--- End Message ---