apt-get build-dep -a doesn't see that newer multi-arch ready package satisfies

Bug #948045 reported by Wookey on 2012-03-06
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apt (Ubuntu)
Undecided
Unassigned

Bug Description

On trying to install cross-architecture build-dependencies using 'apt-get build-dep -aarmel libxi' I get:
E: Build-Depends dependency for libxi cannot be satisfied because the package asciidoc cannot be found

This is because asciidoc is not currently marked Multi-Arch: foreign _and_ the amd64 version is already installed on the system

If I build a new version of asciidoc which does have the Multi-Arch: foreign metadata in the package control data and make it available via a local repo, then do 'apt-get update; apt-get build-dep -aarmel libxi'
the same error is still produced, unless the existing installed version is removed first.

If no asciidoc version is already installed, 'apt-get build-dep -aarmel libxi' does the right thing and installs the new amd64 version, thereby satisfying the build-deps of asciidoc.

So the issue is that when a non- MA:foreign version of a package is already installed and a newer MA:foreign version exists, apt does not find this solution and says that the build-dependency cannot be satisfied.

This is at best unhelpful, and seems to me to be wrong.

I hope this is reproducible for any case where an MA: foreign tool package is needed to satisfy build-deps.

Installing precise version of asciidoc with no MA metadata:
$sudo apt-get install --no-install-recommends -t precise asciidoc
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  vim-addon-manager source-highlight
Recommended packages:
  docbook-utils xmlto dblatex
The following NEW packages will be installed:
  asciidoc
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 1232 kB of archives.
After this operation, 3160 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ precise/main asciidoc all 8.6.6-1 [1232 kB]
Fetched 1232 kB in 0s (1246 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package asciidoc.
(Reading database ... 28790 files and directories currently installed.)
Unpacking asciidoc (from .../asciidoc_8.6.6-1_all.deb) ...
Processing triggers for man-db ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 75.)
debconf: falling back to frontend: Readline
Setting up asciidoc (8.6.6-1) ...

Attempt to install libxi build-deps:

$ apt-get -aarmel build-dep -s libxi
NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Build-Depends dependency for libxi cannot be satisfied because package asciidoc has no candidate version

asciidoc policy:

$ apt-cache policy asciidoc
asciidoc:
  Installed: 8.6.6-1
  Candidate: 8.6.6-2~ma1
  Version table:
     8.6.6-2~ma1 0
        500 copy:/home/wookey/chroots/testrepo/ precise-local/main amd64 Packages
 *** 8.6.6-1 0
        500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
        100 /var/lib/dpkg/status

(the version 8.6.6-2~ma1 has had the M-A: foregn metadata added)

remove asciidoc:

$sudo apt-get remove asciidoc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  asciidoc
0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
After this operation, 3160 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 29018 files and directories currently installed.)
Removing asciidoc ...
Processing triggers for man-db ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 75.)
debconf: falling back to frontend: Readline

See if build-deps are now satifiable:

$apt-get -aarmel build-dep -s libxi
NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  blt-dev libxext-dev libxss-dev tk8.5-dev
The following NEW packages will be installed:
  asciidoc docbook-xml docbook-xsl libice-dev libpthread-stubs0:armel libpthread-stubs0-dev:armel libsm-dev libx11-6:armel
  libx11-dev:armel libxau-dev:armel libxau6:armel libxcb1:armel libxcb1-dev:armel libxdmcp-dev:armel libxdmcp6:armel
  libxext-dev:armel libxext6:armel libxslt1.1 libxt-dev tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev xmlto xsltproc xutils-dev
0 upgraded, 26 newly installed, 4 to remove and 1 not upgraded.
Remv blt-dev [2.4z-4.2ubuntu1]
Remv tk8.5-dev [8.5.11-1]
Remv libxss-dev [1:1.2.1-2]
Remv libxext-dev [2:1.3.0-3build1]
Inst libxau6:armel (1:1.0.6-4 Ubuntu:12.04/precise [armel])
Inst libxdmcp6:armel (1:1.1.0-4 Ubuntu:12.04/precise [armel])
Inst libxcb1:armel (1.8-2 Ubuntu:12.04/precise [armel])
Inst libx11-6:armel (2:1.4.99.1-0ubuntu2 Ubuntu:12.04/precise [armel])
Inst libxext6:armel (2:1.3.0-3build1 Ubuntu:12.04/precise [armel])
Inst docbook-xml (4.5-7ubuntu1 Ubuntu:12.04/precise [all])
Inst libxslt1.1 (1.1.26-8ubuntu1 Ubuntu:12.04/precise [amd64])
Inst asciidoc (8.6.6-2~ma1 Hacked local precise packages:localhost [all])
Inst docbook-xsl (1.76.1+dfsg-1ubuntu1 Ubuntu:12.04/precise [all])
Inst libice-dev (2:1.0.7-2build1 Ubuntu:12.04/precise [amd64])
Inst libpthread-stubs0:armel (0.3-3 Ubuntu:12.04/precise [armel])
Inst libpthread-stubs0-dev:armel (0.3-3 Ubuntu:12.04/precise [armel])
Inst libsm-dev (2:1.2.0-2build1 Ubuntu:12.04/precise [amd64])
Inst libxau-dev:armel (1:1.0.6-4 Ubuntu:12.04/precise [armel])
Inst libxdmcp-dev:armel (1:1.1.0-4 Ubuntu:12.04/precise [armel])
Inst libxcb1-dev:armel (1.8-2 Ubuntu:12.04/precise [armel])
Inst libx11-dev:armel (2:1.4.99.1-0ubuntu2 Ubuntu:12.04/precise [armel])
Inst libxext-dev:armel (2:1.3.0-3build1 Ubuntu:12.04/precise [armel])
Inst libxt-dev (1:1.1.1-2build1 Ubuntu:12.04/precise [amd64])
Inst tcl8.4 (8.4.19-4ubuntu3 Ubuntu:12.04/precise [amd64])
Inst tcl8.4-dev (8.4.19-4ubuntu3 Ubuntu:12.04/precise [amd64])
Inst tk8.4 (8.4.19-4 Ubuntu:12.04/precise [amd64])
Inst tk8.4-dev (8.4.19-4 Ubuntu:12.04/precise [amd64])
Inst xsltproc (1.1.26-8ubuntu1 Ubuntu:12.04/precise [amd64])
Inst xmlto (0.0.25-1 Ubuntu:12.04/precise [amd64])
Inst xutils-dev (1:7.6+6 Ubuntu:12.04/precise [amd64])
Conf libxau6:armel (1:1.0.6-4 Ubuntu:12.04/precise [armel])
Conf libxdmcp6:armel (1:1.1.0-4 Ubuntu:12.04/precise [armel])
Conf libxcb1:armel (1.8-2 Ubuntu:12.04/precise [armel])
Conf libx11-6:armel (2:1.4.99.1-0ubuntu2 Ubuntu:12.04/precise [armel])
Conf libxext6:armel (2:1.3.0-3build1 Ubuntu:12.04/precise [armel])
Conf docbook-xml (4.5-7ubuntu1 Ubuntu:12.04/precise [all])
Conf libxslt1.1 (1.1.26-8ubuntu1 Ubuntu:12.04/precise [amd64])
Conf asciidoc (8.6.6-2~ma1 Hacked local precise packages:localhost [all])
Conf docbook-xsl (1.76.1+dfsg-1ubuntu1 Ubuntu:12.04/precise [all])
Conf libice-dev (2:1.0.7-2build1 Ubuntu:12.04/precise [amd64])
Conf libpthread-stubs0:armel (0.3-3 Ubuntu:12.04/precise [armel])
Conf libpthread-stubs0-dev:armel (0.3-3 Ubuntu:12.04/precise [armel])
Conf libsm-dev (2:1.2.0-2build1 Ubuntu:12.04/precise [amd64])
Conf libxau-dev:armel (1:1.0.6-4 Ubuntu:12.04/precise [armel])
Conf libxdmcp-dev:armel (1:1.1.0-4 Ubuntu:12.04/precise [armel])
Conf libxcb1-dev:armel (1.8-2 Ubuntu:12.04/precise [armel])
Conf libx11-dev:armel (2:1.4.99.1-0ubuntu2 Ubuntu:12.04/precise [armel])
Conf libxext-dev:armel (2:1.3.0-3build1 Ubuntu:12.04/precise [armel])
Conf libxt-dev (1:1.1.1-2build1 Ubuntu:12.04/precise [amd64])
Conf tcl8.4 (8.4.19-4ubuntu3 Ubuntu:12.04/precise [amd64])
Conf tcl8.4-dev (8.4.19-4ubuntu3 Ubuntu:12.04/precise [amd64])
Conf tk8.4 (8.4.19-4 Ubuntu:12.04/precise [amd64])
Conf tk8.4-dev (8.4.19-4 Ubuntu:12.04/precise [amd64])
Conf xsltproc (1.1.26-8ubuntu1 Ubuntu:12.04/precise [amd64])
Conf xmlto (0.0.25-1 Ubuntu:12.04/precise [amd64])
Conf xutils-dev (1:7.6+6 Ubuntu:12.04/precise [amd64])

Reinstall old version of asciidoc, just to check:

$ sudo apt-get install --no-install-recommends -t precise asciidoc
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  vim-addon-manager source-highlight
Recommended packages:
  docbook-utils xmlto dblatex
The following NEW packages will be installed:
  asciidoc
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 0 B/1232 kB of archives.
After this operation, 3160 kB of additional disk space will be used.
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package asciidoc.
(Reading database ... 28790 files and directories currently installed.)
Unpacking asciidoc (from .../asciidoc_8.6.6-1_all.deb) ...
Processing triggers for man-db ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 75.)
debconf: falling back to frontend: Readline
Setting up asciidoc (8.6.6-1) ...

And indeed, now the build-deps are not satisfiable:

$ apt-get -aarmel build-dep -s libxiNOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Build-Depends dependency for libxi cannot be satisfied because package asciidoc has no candidate version

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: apt 0.8.16~exp12ubuntu4
ProcVersionSignature: Ubuntu 3.0.0-13.22-generic 3.0.6
Uname: Linux 3.0.0-13-generic x86_64
NonfreeKernelModules: des_generic md4 nls_utf8 cifs rfcomm bnep bluetooth pci_stub vboxpci vboxnetadp vboxnetflt vboxdrv kvm_intel kvm parport_pc ppdev binfmt_misc autofs4 snd_hda_codec_hdmi snd_hda_codec_analog rpcsec_gss_krb5 nfsd nfs lockd fscache auth_rpcgss nfs_acl sunrpc snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event tpm_tis snd_seq snd_timer nouveau snd_seq_device ttm drm_kms_helper drm snd i2c_algo_bit mxm_wmi wmi video soundcore snd_page_alloc lp parport mei usbhid hid floppy e1000e ahci libahci
ApportVersion: 1.94-0ubuntu1
Architecture: amd64
Date: Tue Mar 6 13:59:15 2012
ProcEnviron:
 SHELL=/bin/bash
 TERM=xterm
 PATH=(custom, no user)
SourcePackage: apt
UpgradeStatus: No upgrade log present (probably fresh install)

Wookey (wookey) wrote :
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers