[Aptitude-devel] Bug#755391: aptitude: dependency resolution confused by versioned dependency with Aptitude::ProblemResolver::SolutionCost "removals"

Vincent Lefevre vincent at vinc17.net
Sun Jul 20 10:32:21 BST 2014


Package: aptitude
Version: 0.6.11-1
Severity: normal

I use the following /etc/apt/apt.conf.d/10aptitude configuration:

Aptitude::ProblemResolver::SolutionCost "removals";

but aptitude forgets an upgrade in its resolution:

------------------------------------------------------------------------
# aptitude full-upgrade
The following NEW packages will be installed:
  bluez:i386{ab} libappstream1{a} libcdt5{a} libcgraph6{a} 
  libdbus-1-3:i386{a} libffi6:i386{a} libglib2.0-0:i386{a} libgvc6{ab} 
  libgvpr2{a} libmetacity-private1{ab} libparrot6.3.0{a} libpcre3:i386{ab} 
  libreadline6:i386{a} libselinux1:i386{a} libtinfo5:i386{a} 
  libudev1:i386{ab} tcl-expect{a} zlib1g:i386{a} 
The following packages will be upgraded:
  appstream-index expect{b} gir1.2-gnomebluetooth-1.0 gnome-bluetooth 
  graphviz libgraphviz-dev libpathplan4 libxdot4 metacity metacity-common 
  nqp{b} rakudo{b} 
The following packages are RECOMMENDED but will NOT be installed:
  gnome-session gnome-session-fallback gnome-session-flashback lxsession 
  mate-session-manager openbox razorqt-session xfce4-session 
12 packages upgraded, 18 newly installed, 0 to remove and 29 not upgraded.
Need to get 12.8 MB of archives. After unpacking 22.3 MB will be used.
The following packages have unmet dependencies:
 libmetacity-private0a : Depends: metacity-common (= 1:2.34.13-1) but 1:3.12.0-1 is to be installed.
 expect : Conflicts: expect-dev but 5.45-5 is installed.
 nqp : Depends: parrot (>= 6.3.0) but 6.0.0-1 is installed and it is kept back.
       Depends: parrotapi-6.3.0 which is a virtual package.
 libudev1 : Breaks: libudev1:i386 (!= 204-14) but 208-6 is to be installed.
 libudev1:i386 : Breaks: libudev1 (!= 208-6) but 204-14 is installed and it is kept back.
 libgvc6 : Conflicts: libgvc5 but 2.26.3-17.1 is installed.
 bluez : Conflicts: bluez:i386 but 5.21-1 is to be installed.
 bluez:i386 : Conflicts: bluez but 4.101-4.1 is installed and it is kept back.
 rakudo : Depends: parrot (>= 6.3.0) but 6.0.0-1 is installed and it is kept back.
          Depends: parrotapi-6.3.0 which is a virtual package.
 libmetacity-private1 : Breaks: libmetacity-private0a but 1:2.34.13-1 is installed.
 libpcre3 : Breaks: libpcre3:i386 (!= 1:8.35-2) but 1:8.31-5 is to be installed.
 libpcre3:i386 : Breaks: libpcre3 (!= 1:8.31-5) but 1:8.35-2 is installed.
 expect-dev : Depends: expect (= 5.45-5) but 5.45-6 is to be installed.
The following actions will resolve these dependencies:

      Keep the following packages at their current version: 
1)      appstream-index [0.6.2-1 (now, testing)]            
2)      bluez:i386 [Not Installed]                          
3)      expect [5.45-5 (now, testing)]                      
4)      gir1.2-gnomebluetooth-1.0 [3.8.1-3 (now, testing)]  
5)      gnome-bluetooth [3.8.1-3 (now, testing)]            
6)      graphviz [2.26.3-17.1 (now, testing)]               
7)      libglib2.0-0:i386 [Not Installed]                   
8)      libgraphviz-dev [2.26.3-17.1 (now, testing)]        
9)      libgvc6 [Not Installed]                             
10)     libmetacity-private1 [Not Installed]                
11)     libpathplan4 [2.26.3-17.1 (now, testing)]           
12)     libpcre3:i386 [Not Installed]                       
13)     libselinux1:i386 [Not Installed]                    
14)     libudev1:i386 [Not Installed]                       
15)     libxdot4 [2.26.3-17.1 (now, testing)]               
16)     metacity [1:2.34.13-1 (now, testing)]               
17)     metacity-common [1:2.34.13-1 (now, testing)]        
18)     nqp [2014.03-1 (now)]                               
19)     rakudo [2014.03.01-1 (now)]                         

      Leave the following dependencies unresolved:          
20)     libappstream1 recommends appstream-index (= 0.7.0-1)


Accept this solution? [Y/n/q/?] 
------------------------------------------------------------------------

This shows that appstream-index was proposed for upgrade, but
discarded it in its resolution.

# aptitude why appstream-index
i   libappstream0 Recommends appstream-index (= 0.6.2-1)

Without the Aptitude::ProblemResolver::SolutionCost "removals", I get:

------------------------------------------------------------------------
# aptitude full-upgrade
The following NEW packages will be installed:
  bluez:i386{ab} libappstream1{a} libcdt5{a} libcgraph6{a} 
  libdbus-1-3:i386{a} libffi6:i386{a} libglib2.0-0:i386{a} libgvc6{ab} 
  libgvpr2{a} libmetacity-private1{ab} libparrot6.3.0{a} libpcre3:i386{ab} 
  libreadline6:i386{a} libselinux1:i386{a} libtinfo5:i386{a} 
  libudev1:i386{ab} tcl-expect{a} zlib1g:i386{a} 
The following packages will be upgraded:
  appstream-index expect{b} gir1.2-gnomebluetooth-1.0 gnome-bluetooth 
  graphviz libgraphviz-dev libpathplan4 libxdot4 metacity metacity-common 
  nqp{b} rakudo{b} 
The following packages are RECOMMENDED but will NOT be installed:
  gnome-session gnome-session-fallback gnome-session-flashback lxsession 
  mate-session-manager openbox razorqt-session xfce4-session 
12 packages upgraded, 18 newly installed, 0 to remove and 29 not upgraded.
Need to get 12.8 MB of archives. After unpacking 22.3 MB will be used.
The following packages have unmet dependencies:
 libmetacity-private0a : Depends: metacity-common (= 1:2.34.13-1) but 1:3.12.0-1 is to be installed.
 expect : Conflicts: expect-dev but 5.45-5 is installed.
 nqp : Depends: parrot (>= 6.3.0) but 6.0.0-1 is installed and it is kept back.
       Depends: parrotapi-6.3.0 which is a virtual package.
 libudev1 : Breaks: libudev1:i386 (!= 204-14) but 208-6 is to be installed.
 libudev1:i386 : Breaks: libudev1 (!= 208-6) but 204-14 is installed and it is kept back.
 libgvc6 : Conflicts: libgvc5 but 2.26.3-17.1 is installed.
 bluez : Conflicts: bluez:i386 but 5.21-1 is to be installed.
 bluez:i386 : Conflicts: bluez but 4.101-4.1 is installed and it is kept back.
 rakudo : Depends: parrot (>= 6.3.0) but 6.0.0-1 is installed and it is kept back.
          Depends: parrotapi-6.3.0 which is a virtual package.
 libmetacity-private1 : Breaks: libmetacity-private0a but 1:2.34.13-1 is installed.
 libpcre3 : Breaks: libpcre3:i386 (!= 1:8.35-2) but 1:8.31-5 is to be installed.
 libpcre3:i386 : Breaks: libpcre3 (!= 1:8.31-5) but 1:8.35-2 is installed.
 expect-dev : Depends: expect (= 5.45-5) but 5.45-6 is to be installed.
The following actions will resolve these dependencies:

      Remove the following packages:                        
1)      expect-dev                                          
2)      gnome-bluetooth                                     
3)      libgvc5                                             
4)      libmetacity-private0a                               
5)      nqp                                                 
6)      rakudo                                              

      Keep the following packages at their current version: 
7)      bluez:i386 [Not Installed]                          
8)      libglib2.0-0:i386 [Not Installed]                   
9)      libpcre3:i386 [Not Installed]                       
10)     libselinux1:i386 [Not Installed]                    
11)     libudev1:i386 [Not Installed]                       

      Leave the following dependencies unresolved:          
12)     libappstream0 recommends appstream-index (= 0.6.2-1)


Accept this solution? [Y/n/q/?] 
------------------------------------------------------------------------

i.e. appstream-index will be upgraded. It seems that the option
prevented its upgrade due to:

  libappstream0 recommends appstream-index (= 0.6.2-1)

though appstream-index wouldn't be removed: its version would just
change (BTW, these versioned dependencies for libappstream0 and
libappstream1 look strange and are conflicting, so that this is
probably a bad idea, but this is another problem).

To be able to reproduce the problem, I've attached the status files
in an archive.

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

aptitude version information:
aptitude 0.6.11 compiled at Jun  9 2014 20:46:57
Compiler: g++ 4.8.3
Compiled against:
  apt version 4.12.0
  NCurses version 5.9
  libsigc++ version: 2.2.11
  Gtk+ support disabled.
  Qt support disabled.

Current library versions:
  NCurses version: ncurses 5.9.20140712
  cwidget version: 0.5.17
  Apt version: 4.12.0

aptitude linkage:
	linux-vdso.so.1 (0x00007fff8488c000)
	libapt-pkg.so.4.12 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12 (0x00007f8835dd0000)
	libncursesw.so.5 => /lib/x86_64-linux-gnu/libncursesw.so.5 (0x00007f8835b9a000)
	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f883596f000)
	libsigc-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0 (0x00007f883576a000)
	libcwidget.so.3 => /usr/lib/x86_64-linux-gnu/libcwidget.so.3 (0x00007f8835463000)
	libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f88351a1000)
	libboost_iostreams.so.1.55.0 => /usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.55.0 (0x00007f8834f89000)
	libxapian.so.22 => /usr/lib/libxapian.so.22 (0x00007f8834b7e000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8834960000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8834655000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8834354000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f883413d000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8833d94000)
	libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f8833b91000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f883398c000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f8833774000)
	libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f8833564000)
	liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f8833340000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8833138000)
	libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f8832f32000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8836778000)

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.11-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages aptitude depends on:
ii  aptitude-common           0.6.11-1
ii  libapt-pkg4.12            1.0.6
ii  libboost-iostreams1.55.0  1.55.0+dfsg-2
ii  libc6                     2.19-7
ii  libcwidget3               0.5.17-1
ii  libgcc1                   1:4.9.1-1
ii  libncursesw5              5.9+20140712-2
ii  libsigc++-2.0-0c2a        2.2.11-4
ii  libsqlite3-0              3.8.5-2
ii  libstdc++6                4.9.1-1
ii  libtinfo5                 5.9+20140712-2
ii  libxapian22               1.2.18-1

Versions of packages aptitude recommends:
ii  aptitude-doc-en [aptitude-doc]  0.6.11-1
ii  libparse-debianchangelog-perl   1.2.0-1
ii  sensible-utils                  0.0.9

Versions of packages aptitude suggests:
ii  apt-xapian-index  0.46
pn  debtags           <none>
ii  tasksel           3.20

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: status.tar.xz
Type: application/octet-stream
Size: 1085060 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/aptitude-devel/attachments/20140720/ac27bb6a/attachment.obj>


More information about the Aptitude-devel mailing list