[Aptitude-devel] Bug#802532: aptitude: Missing comparison operators in "Unable to satisfy the build-depends" error message

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Sun Oct 25 17:22:04 UTC 2015

Control: found -1 aptitude/0.6.11

Hi Axel,

2015-10-20 21:18 Axel Beckert:
>Package: aptitude
>Version: 0.7.4-1

Either this was caused e.g. by recent-ish changes in apt, or the bug has
been present since ~2008 (code not modified since then), so I marked it
that at least it is found in the version of Jessie (confirmed it).

>While checking why gnudatalanguage has "BD-Uninstallable" on most
>architectures, I tried to install all build-dependencies locally.
>First I checked what's missing in the extracted source package:
>$ dpkg-checkbuilddeps
>dpkg-checkbuilddeps: error: Unmet build dependencies: chrpath libeigen3-dev libgsl0-dev libgraphicsmagick++1-dev libplplot-dev (>= 5.10.0+dfsg-1~) | libplplot-dev (<= 5.10)
>Looked reasonable.
>Then I tried to install those packages as follows:
># aptitude build-dep gnudatalanguage
>Unable to satisfy the build-depends: Build-Depends: libncurses-dev.
>Unable to satisfy the build-depends: Build-Depends: libplplot-dev ( 5.10.0+dfsg-1~) | libplplot-dev ( 5.10).
>Unable to satisfy the build-depends: Build-Depends: libncurses-dev.
>Unable to satisfy the build-depends: Build-Depends: libplplot-dev ( 5.10.0+dfsg-1~) | libplplot-dev ( 5.10).
>The following NEW packages will be installed:
>  chrpath libeigen3-dev libgraphicsmagick++1-dev libgraphicsmagick1-dev{a} libgsl0-dev
>0 packages upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
>Need to get 3,185 kB of archives. After unpacking 20.2 MB will be used.
>Do you want to continue? [Y/n/?]
>Please note the missing ">=" and "<=" in the error messages (compared to
>the dpkg-checkbuilddeps output) while the space behind them is there.

Fixed in VCS, it was using the wrong variable (and the but was uncovered
for 7+ years, congrats!).

>Also the trailing dot at the end of all these error messages looks wrong
>-- but is probably not a technical issue, just a question of grammar.

I also find strange to have the trailing dot and I think that it would
better be removed, but all similar messages have this (I avoided to
remove it in another instance for the same reason, consistency), so I
think that if this is to be removed it's better if it's done in all
cases, and perhaps as part of a more general revamp of the command line

>The following are the full build-dependencies from apt-cache showsrc
>gnudatalanguage on the same machine:
>Build-Depends: chrpath, cmake, debhelper (>= 9~), dpkg-dev (>= 1.16.1~), libantlr-dev, libeigen3-dev, libfftw3-dev, libgrib-api-dev, libgsl0-dev, libhdf4-alt-dev, libhdf5-dev | libhdf5-serial-dev, libgraphicsmagick++1-dev, libncurses-dev, libnetcdf-dev, libplplot-dev (>= 5.10.0+dfsg-1~) | libplplot-dev (<= 5.10), libreadline-dev, libudunits2-dev, libwxgtk3.0-dev, pslib-dev, python-all-dev, python-numpy, xauth, xvfb, zlib1g-dev
>libncurses-dev is btw. a virtual package while libplplot-dev isn't.
>So the reason for the error message about libncurses-dev is
>https://bugs.debian.org/509100 (aptitude: build-dep fails when a
>virtual package is needed), but the fact that there is even an error
>message for libplplot-dev is maybe related to the fact that the
>comparison operator is not shown.

The problem of the operator not shown was only for printing, so it is
not the direct cause for this.

The dependency is a bit funny:

  libplplot-dev (>= 5.10.0+dfsg-1~) | libplplot-dev (<= 5.10)

Maybe aptitude uses some wrong logic somewhere, gets a bit confused and
thinks that no package can satisfy those.

I very seldom use build-depends, but I never noticed a problem before,
and there are not many bugs about the issue, so I guess that there is
something specific about this dependency that makes it fail.

Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>

More information about the Aptitude-devel mailing list