Re: [OE-core] [PATCH] kernel.bbclass: Add dependency on binutils
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 m...@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. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] kernel.bbclass: Add dependency on binutils
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.) Signed-off-by: Mike Crowe m...@mcrowe.com Acked-by: Phil Blundell ph...@gnu.org --- meta/classes/kernel.bbclass |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index ffb0b11..38973db 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -1,7 +1,7 @@ inherit linux-kernel-base module_strip kernel-module-split PROVIDES += virtual/kernel -DEPENDS += virtual/${TARGET_PREFIX}gcc kmod-native depmodwrapper-cross +DEPENDS += virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native depmodwrapper-cross # we include gcc above, we dont need virtual/libc INHIBIT_DEFAULT_DEPS = 1 -- 1.7.10.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] kernel.bbclass: Add dependency on binutils
On May 20, 2013, at 5:22 AM, Mike Crowe m...@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 Signed-off-by: Mike Crowe m...@mcrowe.com Acked-by: Phil Blundell ph...@gnu.org --- meta/classes/kernel.bbclass |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index ffb0b11..38973db 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -1,7 +1,7 @@ inherit linux-kernel-base module_strip kernel-module-split PROVIDES += virtual/kernel -DEPENDS += virtual/${TARGET_PREFIX}gcc kmod-native depmodwrapper-cross +DEPENDS += virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native depmodwrapper-cross # we include gcc above, we dont need virtual/libc INHIBIT_DEFAULT_DEPS = 1 -- 1.7.10.4 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] kernel.bbclass: Add dependency on binutils
On Mon, May 20, 2013 at 10:37:08AM -0700, Khem Raj wrote: On May 20, 2013, at 5:22 AM, Mike Crowe m...@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 Perhaps it could do when considering requiring binutils to be an implementation detail of gcc. Unfortunately sstate.bbclass doesn't honour the dependency (presumably because other recipes that depend on binutils directly don't wish to bring in all the binutils build dependencies unnecessarily.) What is the best way to avoid this? But, kernel compilation also requires the ability to call binutils directly so it doesn't feel completely wrong for the kernel class to depend on binutils directly too. Mike. ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] kernel.bbclass: Add dependency on binutils
On Mon, 2013-05-20 at 10:37 -0700, Khem Raj wrote: On May 20, 2013, at 5:22 AM, Mike Crowe m...@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. Cheers, Richard ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core