[oe] build dependency cycles in openembedded

Marko Lindqvist cazfi74 at gmail.com
Mon Feb 18 17:22:26 UTC 2013


On 18 February 2013 18:53, Johannes Schauer <j.schauer at email.de> wrote:
> Hi,
>
> Quoting Takeshi Hamasaki (2013-02-18 16:07:36)
>> Before continuing to write reply,
>> I want to make sure about the usage of the word "native":
>>
>> in OpenEmbedded recipe, let's say, when you work on a x86-64 system to build
>> for target system which has ARM architecture,
>>
>> if you want to borrow a xz tool from x86-64 environment: you can write
>>  DEPENDS = xz-native
>>
>> if you depends on xz tool build on target environment: you just write
>>  DEPENDS = xz
>>
>> Is this the custom you assume?
>>
>> What I had to find was the word "native" is used to point the target environment
>> in [1].
>
> The terminology can indeed become very confusing. In our setup we use the GNU
> terminology for cross compilation.
>
>        build machine
>            The machine the package is built on.
>
>        host machine
>            The machine the package is built for.
>
> In some tools for dependency analysis we develop (dose3) we also use the terms
> "native" and "target". For cross compilation, native would be the build
> architecture and target would be the host architecture. By your explanation
> above, the terms seem to have the same meaning in OpenEmbedded so we seem to be
> talking about the same things. :)

 "Native" indeed means binaries that can be run on build architecture.
I think term comes from the fact that they are build as native build,
not cross-compiled. I get more confused when I want to refer something
that's needed in build system prior to OpenEmbedded build, the OE
dependencies. I don't know what's the official term in OpenEmbedded
lingo, but I speak of "build host binaries". Anyway, "native" are
something that are still built as part of OpenEmbedded build process,
such as cross-compiler to be later used in producing binaries for the
target. That might be important for your original question about
cyclic (/infinite recursion) dependencies. OE has both native build
and cross-compile part, and problems can arise in native part too. One
example is that pkg-config version used has not been updated for a
while since build of newer version would depend on glib, which needs
pkg-config to build...


 - ML




More information about the Openembedded-devel mailing list