Re: Bug#666772: Bug 666772
>you'll probably get results quicker if you do a native build in a qemu virtual
>machine emulating your host architecture.
I did that and it took 9h just to hang on tests under qemu :(
>Because that's the rule. In Debian, all build dependencies default to being
>resolved as the host architecture package. If it was the other way round and
>the default was the build architecture, then you would now ask the opposite
>question and ask why all build-deps come from the build architecture. It's just
>the default and in reality you need both build and host architecture packages
>to do the build. Multi-Arch allows you to mark the packages that deviate from
>the default as such
>If the package is Multi-Arch:foreign, then that is already done. If the package
>is not M-A:foreign, then the dependency resolver has no way to know whether you
>need the build architecture or host architecture of a package. We mark packages
>with the right metadata to install build dependencies of the correct
>architecture. But without that metadata, the resolver cannot know what the
>build actually needs
This is what I wanted to understand, thanks! I think we must write a clear FAQ for
beginners citing this. I am learning this a hard way!
> But it's likely that you should instead take a step back and ask yourself
>whether you really need that package installed in the foreign architecture.
>Does the build really need the package in host architecture to succeed?
This is what I really want to declare in my packages. i.e separate tools which
must be host-arch from tools that must be build-arch (like zip).
Also setting libcommons-lang-java:native and groocy:native fixes the resolver
issue. What I am going to do next is to try marking "helper" packages as arch:native
and rework the Kodi upstream MR to build the necessary helper tools for host and
build architecture if cross-compiling Kodi. This way I hope to eliminate the need to
use qemu on host.
Certified SolidWorks Expert
Mob.:+380 (98) 465 66 77
호랑이는 죽어서 가죽을 남기고 사람은 죽어서 이름을 남긴다