apt-get build-dep -a doesn't see that newer multi-arch ready package satisfies
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
New
|
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-
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://
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_
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/
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/
*** 8.6.6-1 0
500 http://
100 /var/lib/
(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/
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-
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:
Inst libxdmcp6:armel (1:1.1.0-4 Ubuntu:
Inst libxcb1:armel (1.8-2 Ubuntu:
Inst libx11-6:armel (2:1.4.
Inst libxext6:armel (2:1.3.0-3build1 Ubuntu:
Inst docbook-xml (4.5-7ubuntu1 Ubuntu:
Inst libxslt1.1 (1.1.26-8ubuntu1 Ubuntu:
Inst asciidoc (8.6.6-2~ma1 Hacked local precise packages:localhost [all])
Inst docbook-xsl (1.76.1+
Inst libice-dev (2:1.0.7-2build1 Ubuntu:
Inst libpthread-
Inst libpthread-
Inst libsm-dev (2:1.2.0-2build1 Ubuntu:
Inst libxau-dev:armel (1:1.0.6-4 Ubuntu:
Inst libxdmcp-dev:armel (1:1.1.0-4 Ubuntu:
Inst libxcb1-dev:armel (1.8-2 Ubuntu:
Inst libx11-dev:armel (2:1.4.
Inst libxext-dev:armel (2:1.3.0-3build1 Ubuntu:
Inst libxt-dev (1:1.1.1-2build1 Ubuntu:
Inst tcl8.4 (8.4.19-4ubuntu3 Ubuntu:
Inst tcl8.4-dev (8.4.19-4ubuntu3 Ubuntu:
Inst tk8.4 (8.4.19-4 Ubuntu:
Inst tk8.4-dev (8.4.19-4 Ubuntu:
Inst xsltproc (1.1.26-8ubuntu1 Ubuntu:
Inst xmlto (0.0.25-1 Ubuntu:
Inst xutils-dev (1:7.6+6 Ubuntu:
Conf libxau6:armel (1:1.0.6-4 Ubuntu:
Conf libxdmcp6:armel (1:1.1.0-4 Ubuntu:
Conf libxcb1:armel (1.8-2 Ubuntu:
Conf libx11-6:armel (2:1.4.
Conf libxext6:armel (2:1.3.0-3build1 Ubuntu:
Conf docbook-xml (4.5-7ubuntu1 Ubuntu:
Conf libxslt1.1 (1.1.26-8ubuntu1 Ubuntu:
Conf asciidoc (8.6.6-2~ma1 Hacked local precise packages:localhost [all])
Conf docbook-xsl (1.76.1+
Conf libice-dev (2:1.0.7-2build1 Ubuntu:
Conf libpthread-
Conf libpthread-
Conf libsm-dev (2:1.2.0-2build1 Ubuntu:
Conf libxau-dev:armel (1:1.0.6-4 Ubuntu:
Conf libxdmcp-dev:armel (1:1.1.0-4 Ubuntu:
Conf libxcb1-dev:armel (1.8-2 Ubuntu:
Conf libx11-dev:armel (2:1.4.
Conf libxext-dev:armel (2:1.3.0-3build1 Ubuntu:
Conf libxt-dev (1:1.1.1-2build1 Ubuntu:
Conf tcl8.4 (8.4.19-4ubuntu3 Ubuntu:
Conf tcl8.4-dev (8.4.19-4ubuntu3 Ubuntu:
Conf tk8.4 (8.4.19-4 Ubuntu:
Conf tk8.4-dev (8.4.19-4 Ubuntu:
Conf xsltproc (1.1.26-8ubuntu1 Ubuntu:
Conf xmlto (0.0.25-1 Ubuntu:
Conf xutils-dev (1:7.6+6 Ubuntu:
Reinstall old version of asciidoc, just to check:
$ sudo apt-get install --no-install-
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_
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/
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
ProcVersionSign
Uname: Linux 3.0.0-13-generic x86_64
NonfreeKernelMo
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)