[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian-on-mobile-maintainers] Bug#996699: Bug#996699: chatty: Cross-building fails to resolve libpurple-dev


On Wed, 2021-10-20 at 14:59 +0200, Helmut Grohne wrote:
> On Wed, Oct 20, 2021 at 10:17:30AM +0200, Evangelos Ribeiro Tzaras
> wrote:
> > On Sun, 2021-10-17 at 09:26 -0400, Travis Wrightsman via Debian-on-
> > mobile-maintainers wrote:
> > > Package: chatty
> > > Version: 0.4.0-1
> > > Severity: serious
> > > Justification: fails to build from source
> > > Tags: ftbfs upstream
> We do not yet categorize cross build issues as ftbfs. In any case,
> cross
> build issues are not release critical as Sebastian Ramacher pointed
> out.
> Please refrain from filing cross build bugs without patches.

Good to know!

> > 
> > CCing debian-cross in the hopes that someone can shed some light
> > here
> > :)
> Very good. That was the right thing to do.

That is always nice to hear, isn't it? :)

> As a general thing, if you want to look into why something doesn't
> cross
> build, go check at our cross build quality assurance:
> http://crossqa.debian.net/src/chatty

Mentally noted!

> We learn a couple of things there:
>  * chatty doesn't have satisfiable cross-Build-Depends for any
>    architecture and consequently has never been built.
>  * There are no linked bug reports (at the time of this writing, but
> the
>    usertagging should make this bug show up there soon).
>  * The dependency issue is with libpurple-dev (as you correctly
>    identified).
> crossqa uses dose to check dependency issues, so it can only see one
> of
> many problems and the first issues it happens to see is with
> libpurple-dev. To see the others, we check the bootstrap.d.n link:
> https://bootstrap.debian.net/cross_all/chatty.html
> Good news: It's libpurple-dev and libpurple-dev only.
> Time to look into libpurple-dev, right?
> It's an Architecture: all package and those can never satisfy cross
> Build-Depends unless marked Multi-Arch: foreign. So clear thing, we
> mark
> it Multi-Arch: foreign and we're done, right? Unfortunately, not.
> libpurple-dev Depends on libpurple0 (among other things) and quite
> clearly, it exposes libpurple0. Since libpurple0 is
> architecture-dependent and exposed by libpurple-dev, libpurple-dev
> cannot be Multi-Arch: foreign. The thing is: When we issue a
> dependency
> on libpurple-dev (for a particular architecture), we want a matching
> libpurple0 (of the requested architecture). And this constraint
> cannot
> be transferred through Architecture: all packages. That issue is
> known
> as the "multiarch interpreter problem", because it happened with
> interpreters first. In any case, the canonical solution to this
> problem
> is to turn libpurple-dev Architecture: any. At that point the
> resolver
> will pick the host architecture libpurple-dev and the dependency will
> ensure that we also get the host architecture libpurple0.
> If this leaves any questions, don't hesitate to ask
> (debian-cross@lists.debian.org).

Thanks a lot for taking the time to explain this and providing a patch!


Attachment: signature.asc
Description: This is a digitally signed message part

Reply to: