Re: [PATCH] kernel.bbclass: Add dependency on binutils

Mike Crowe
2013-05-21T08:41:13Z

On Mon, May 20, 2013 at 11:25:18PM +0100, Richard Purdie wrote:
> On Mon, 2013-05-20 at 10:37 -0700, Khem Raj wrote:
> > On May 20, 2013, at 5:22 AM, Mike Crowe <mac@mcrowe.com> wrote:
> >
> > > Compiling the Linux kernel requires binutils; kernel.bbclass uses
> > > INHIBIT_DEFAULT_DEPS so it had better depend on binutils explicitly.
> > >
> > > (The lack of this dependency isn't always a problem because binutils
> > > is required to build gcc-cross but if gcc-cross is reconstructed from
> > > the sstate cache then gcc-cross's dependency on binutils-cross is
> > > ignored due to being in the safe dependency list in
> > > setscene_depvalid.)
> >
> > what good is cross-gcc without cross-binutils. Could it be fixed in gcc recipes instead so
> > it pulls binutils-cross
>
> This needs fixing in the logic in sstate.bbclass.

The most straightforward fix there (with thanks to Phil Blundell) is to
just remove binutils-cross from the safe dependency list:

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 1f85c54..be08a66 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -648,7 +648,7 @@ def setscene_depvalid(task, taskdependees, notneeded, d):
def isNativeCross(x):
return x.endswith("-native") or x.endswith("-cross") or x.endswith("-cross-initial")
def isSafeDep(x):
- if x in ["quilt-native", "autoconf-native", "automake-native", "gnu-config-native", "libtool-native", "pkgconfig-native", "gcc-cross", "binutils-cross", "gcc-cross-initial"]:
+ if x in ["quilt-native", "autoconf-native", "automake-native", "gnu-config-native", "libtool-native", "pkgconfig-native", "gcc-cross", "gcc-cross-initial"]:
return True
return False
def isPostInstDep(x):

Is this the sort of fix you mean?

Thanks.

Mike.