[Aptitude-devel] Bug#879965: aptitude: build-dep fails with vague (& probably bogus) error

Nomen Nescio nobody at dizum.com
Sun Oct 29 19:24:12 UTC 2017

Package: aptitude
Version: 0.8.7-1
Followup-For: Bug #879965

> Can you please verify that your issue only shows up if there are
> virtual packages listed in the build-dependencies (or their
> dependencies), i.e. if aptitude always and only argues about virtual
> packages?

I have in my notes that I was able to successfully run:

  $ aptitude build-dep ledger=2.6.2-3.1

but when I search for "ledger" in /var/log/aptitude and
/var/log/apt/*, I find no trace of that action (which I was hoping
would reveal which packages were installed as a result).  Can you
suggest another way for me to get that information?

To answer the question w.r.t mutt, I removed all non-virtual packages
from the set of packages that apt-get installed:

 $ aptitude remove comerr-dev krb5-multidev libgnutls28-dev libgnutlsxx28 libgssrpc4 libidn11-dev libkadm5clnt-mit11 libkadm5srv-mit11 libkdb5-8 libkrb5-dev libncursesw5-dev libnotmuch-dev libp11-kit-dev libsasl2-dev libtasn1-6-dev libtokyocabinet-dev nettle-dev zlib1g-dev 

The idea is that if only non-virtual packages are needed, then
aptitude would have no problems as far as we know.  But in fact it
still has a problem with the virtual package that was never needed in
the first place.  That is, running "aptitude --log-level=debug
build-dep mutt" still produces:

  Unable to satisfy the build-depends: Build-Depends: libgpgme11-dev
  Unable to apply some actions, aborting

It seems I've caught aptitude in a lie, which seems to play into this

$ aptitude why libgpgme11-dev
Not currently installed
No dependencies require to install libgpgme11-dev

$ aptitude why libgpgme11
i   libgpgme-dev Depends libgpgme11 (= 1.8.0-3+b2)

$ aptitude show libgpgme-dev
Package: libgpgme-dev                    
Version: 1.8.0-3+b2
State: installed
Automatically installed: no

>> 4) "Unable to apply some actions" is too vague.  What actions?
> Installation, Removal, Reinstallation, Configuration, etc. Do you
> know any better term to describe any action on packages?

If I can assume that the "Unable to apply some actions" is a final
summary statement to tell the user why the high-level operation
failed, then it should state what exactly prevented aptitude from
printing a "success" message.

As I understand it, in the course of handling a request aptitude is
doing many tasks, and delegating many tasks to other tools/processes.
All those tasks result in warnings, errors, and information, and
perhaps in some cases silent failures that yielded no output at all.
Aptitude probably doesn't have a practical way of knowing whether the
child processes properly informed the user, but it does know
specifically what job had what exit status, which is likely how
aptitude knew in the first place that there was a blocking failure.
It should tell the user "apt-get failed to find a file", for example.
It's particularly important in the case of a misbehaving tool
(developed externally to the aptitude project) that would fail
silently, for example.

-- Package-specific info:
Terminal: screen.xterm-256color
$DISPLAY is set.
which aptitude: /usr/bin/aptitude

aptitude version information:
aptitude 0.8.7
Compiler: g++ 6.3.0 20170406
Compiled against:
  apt version 5.0.1
  NCurses version 6.0
  libsigc++ version: 2.10.0
  Gtk+ support disabled.
  Qt support disabled.

Current library versions:
  NCurses version: ncurses 6.0.20161126
  cwidget version: 0.5.17
  Apt version: 5.0.1

aptitude linkage:
	linux-vdso.so.1 (0x00007ffddb3d0000)
	/usr/lib/x86_64-linux-gnu/torsocks/libtorsocks.so (0x00007fce6f4ab000)
	libapt-pkg.so.5.0 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.5.0 (0x00007fce6f0f9000)
	libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007fce6eec9000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fce6ec9f000)
	libsigc-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0 (0x00007fce6ea98000)
	libcwidget.so.3 => /usr/lib/x86_64-linux-gnu/libcwidget.so.3 (0x00007fce6e79b000)
	libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007fce6e493000)
	libboost_iostreams.so.1.62.0 => /usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.62.0 (0x00007fce6e27b000)
	libboost_filesystem.so.1.62.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.62.0 (0x00007fce6e062000)
	libboost_system.so.1.62.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.62.0 (0x00007fce6de5e000)
	libxapian.so.30 => /usr/lib/x86_64-linux-gnu/libxapian.so.30 (0x00007fce6da4a000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fce6d82d000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fce6d4ab000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fce6d1a7000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fce6cf90000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fce6cbf1000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fce6c9ed000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fce6c7d6000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fce6c5bc000)
	libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007fce6c3ac000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fce6c186000)
	liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007fce6bf74000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fce6bd6c000)
	libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fce6bb67000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fce6fcd7000)

-- System Information:
Debian Release: 9.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=1509180135 WARNING torsocks[7811]: [syscall] Unsupported syscall number 217. Denying the call (in tsocks_syscall() at syscall.c:488)
UTF-8), LANGUAGE=en_US.UTF-8 (charmap=1509180135 WARNING torsocks[7813]: [syscall] Unsupported syscall number 217. Denying the call (in tsocks_syscall() at syscall.c:488)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages aptitude depends on:
ii  aptitude-common            0.8.7-1
ii  libapt-pkg5.0              1.4.8
ii  libboost-filesystem1.62.0  1.62.0+dfsg-4
ii  libboost-iostreams1.62.0   1.62.0+dfsg-4
ii  libboost-system1.62.0      1.62.0+dfsg-4
ii  libc6                      2.24-11+deb9u1
ii  libcwidget3v5              0.5.17-4+b1
ii  libgcc1                    1:6.3.0-18
ii  libncursesw5               6.0+20161126-1+deb9u1
ii  libsigc++-2.0-0v5          2.10.0-1
ii  libsqlite3-0               3.16.2-5
ii  libstdc++6                 6.3.0-18
ii  libtinfo5                  6.0+20161126-1+deb9u1
ii  libxapian30                1.4.3-2

Versions of packages aptitude recommends:
ii  libparse-debianchangelog-perl  1.2.0-12
ii  sensible-utils                 0.0.9

Versions of packages aptitude suggests:
pn  apt-xapian-index                <none>
pn  aptitude-doc-en | aptitude-doc  <none>
pn  debtags                         <none>
ii  tasksel                         3.39

-- debconf information excluded

More information about the Aptitude-devel mailing list