[Bug 1185896] Re: apt makes wrong resolver choice when foreign arch repo included
Wookey
wookey at wookware.org
Thu May 30 17:18:39 UTC 2013
It's unclear to me exactly what's going wrong here, but the fact that
multiarch-support:arm64 is being considered by the resolver seems wrong,
when the native arch is amd64 and the foreign arch is armhf. Should it
not be filtered out?
Should this package even appear in the apt cache? (maybe that is OK -
the package file was downloaded)
This simpler command also makes apt install the correct things:
apt-get install crossbuild-essential-armhf multiarch-support
attached is the debug output from running that in case it helps.
** Attachment added: "apt debug resolver output in working case"
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1185896/+attachment/3690718/+files/apt-debug-working
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1185896
Title:
apt makes wrong resolver choice when foreign arch repo included
Status in “apt” package in Ubuntu:
New
Bug description:
In a fresh raring chroot adding foreign-arch armhf then apt-get installing crossbuild-essential-armhf works fine.
But if a repo arch-qualified for another arch (arm64) is added, and apt-get update run, installing crossbuild-essential-armhf now fails.
The reason for this is not clear. Here is a summary of what I've found so far.
apt-get install crossbuild-essential-armhf
crossbuild-essential-armhf : Depends: dpkg-cross but it is not going to be installed
apt-get install dpkg-cross
dpkg-cross : Depends: libdebian-dpkgcross-perl (= 2.6.9ubuntu2) but it is not going to be installed
apt-get install libdebian-dpkgcross-perl
works, but tries to remove: libidn11 libssl1.0.0 libudev0 multiarch-support wget
(and replace multiarch-support:amd64 with multiarch-support:armhf, which breaks things)
doing apt-get install crossbuild-essential-armhf libdebian-dpkgcross-
perl multiarch-support:amd64 gets apt to do the right thing.
So the question is why is apt prefering the solution of not installing
crossbuild-essential-armhf over the correct solution of installing
crossbuild-essential-armhf libdebian-dpkgcross-perl multiarch-
support:amd64
I did
apt-get -oDebug::pkgProblemResolver=1 install crossbuild-essential-armhf
and got the attached apt-debug file
I've also attached a script log of the session demonstrating that
crossbuild-essential-armhf installs as expected unti l the extra arm64
repo is made available
I think this can be reproduced by doing
sbuild-createchroot for raring on amd64 box
adding this repo to apt config:
deb [arch=arm64] http://people.debian.org/~wookey/bootstrap/ubunturepo/ raring-bootstrap main universe
deb-src http://people.debian.org/~wookey/bootstrap/ubunturepo/ raring-bootstrap main universe
and doing the above tests, as documented in the script log attached
the problem seems to revolve around apt starting by considering
multiarch-support:arm64
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1185896/+subscriptions
More information about the foundations-bugs
mailing list