Bug#683786: apt-get cross build dependency resolution of arch:all, m-a:none packages
Hi,
tldr: the issue seems solved, dose3 and apt-get only differ on 3 out of
635 source packages. You can probably close this bugreport using your
fixed patch.
On Sat, Aug 04, 2012 at 04:23:54PM +0200, David Kalnischkies wrote:
> > The downside is, that this change seems to break other dependency
> > resolutions. For example sed build depends on libselinux-dev which
> > is provided by libselinux1-dev.
>
> Ah, sure. I should have seen that… Make that check a
> || (Pkg->VersionList == 0 && Pkg->ProvidesList == 0)
This solved the issue with my initial selection of 67 source packages.
Out of those 67 source packages, dose3 and apt-get now agree on whether
cross build dependencies can be fulfilled or not.
To make sure that indeed everything was solved, I ran another test with
a selection of 635 source packages.
Out of those, the only three source packages that differed in their result
were gpac, texlive-bin and libedit.
gpac and texlive-bin
--------------------
apt-get claimed that gpac and texlive-bin could not have their cross
build dependencies satisfied
josch@hoothoot> sudo chroot ~/debian-sid-minbase apt-get --simulate -aarmel build-dep gpac
Reading package lists... Done
Building dependency tree... Done
Note, selecting 'libjpeg8-dev' instead of 'libjpeg-dev'
Note, selecting 'libpng12-dev' instead of 'libpng-dev'
Note, selecting 'libxmlrpc-core-c3-dev:armel' instead of 'libxmlrpc-c3-dev:armel'
The following packages have unmet dependencies:
libsdl1.2-dev:armel : Depends: libcaca-dev:armel but it is not going to be installed
Depends: libdirectfb-dev:armel (>= 0.9.22) but it is not going to be installed
E: Build-dependencies for gpac could not be satisfied.
josch@hoothoot> sudo chroot ~/debian-sid-minbase apt-get --simulate -aarmel build-dep texlive-bin
Reading package lists... Done
Building dependency tree... Done
Note, selecting 'libpng12-dev' instead of 'libpng-dev'
The following packages have unmet dependencies:
libgd2-xpm-dev:armel : Depends: libpng12-0-dev:armel
E: Build-dependencies for texlive-bin could not be satisfied.
Both source packages build depend on libpng-dev which is a virtual
package provided by libpng12-dev which is also selected by apt in its
native version.
Gpac build depends on libdirectfb-dev which in turn depends on the
virtual package libpng-dev which apt satisfies with libpng12-dev:armel,
thereby creating the conflict.
Texlive-bin build depends on libgd2-xpm-dev which in turn depends on the
virtual package libpng12-0-dev which apt satisfies with
libpng12-dev:armel, thereby creating the conflict.
So there seems to be a problem when a source package build depends on a
virtual package provided by $pkg and another dependency of itself
depends on a virtual packages that is also provided by $pkg but differs
in architecture?
This problem exists in apt-get before as well as after your last patch,
so I guess it is a completely different problem?
I was posting it here anyways because the solution of this bugreport was
also about virtual packages so there might be a relationship?
libedit
-------
dose3 claims it cannot satisfy the cross build dependencies for libedit.
The reason it gives:
When cross compiling for armel on amd64, then:
- src:libedit build-depends on bsdmainutils:armel
- src:libedit build-depends on debhelper, depends on man-db:amd64,
depends on bsdmainutils:amd64
But man-db is M-A: foreign which means that man-db:armel should be able
to satisfy the dependency of debhelper just as well as man-db:amd64.
Man-db:armel would in turn only require bsdmainutils:armel and there
would be no conflict. This explains why apt doesnt fail. I have to fix
dose3.
Conclusion
----------
The addition you made to your last patch seemed to have solved the issue
that I initially reported.
Since the other three differences appear with and without your patch
they seem not to be connected to this bugreport.
Should I open a new bugreport for the gpac/texlive-bin cross build
dependency satisfaction issue?
Thanks a lot for your very quick help!
cheers, josch
Reply to: