* [PATCH] gcc: add flex-native explicit dependency @ 2018-01-11 3:15 Denys Dmytriyenko 2018-01-11 14:41 ` Richard Purdie 0 siblings, 1 reply; 4+ messages in thread From: Denys Dmytriyenko @ 2018-01-11 3:15 UTC (permalink / raw) To: openembedded-core; +Cc: Denys Dmytriyenko From: Denys Dmytriyenko <denys@ti.com> It seems flex is required to build gcc: | .../work-shared/gcc-7.2.0-r0/gcc-7.2.0/missing: line 81: flex: command not found | WARNING: 'flex' is missing on your system. | You should only need it if you modified a '.l' file. | You may want to install the Fast Lexical Analyzer package: | <http://flex.sourceforge.net/> | Makefile:2799: recipe for target 'gengtype-lex.c' failed | make[1]: [gengtype-lex.c] Error 127 (ignored) Normally this is handled indirectly throught binutils-cross dependency pulling in flex-native implicitly. For deterministic builds, this should be specified explicitly. Signed-off-by: Denys Dmytriyenko <denys@ti.com> --- meta/recipes-devtools/gcc/gcc-7.2.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/gcc/gcc-7.2.inc b/meta/recipes-devtools/gcc/gcc-7.2.inc index 1d40cba..d1fb6de 100644 --- a/meta/recipes-devtools/gcc/gcc-7.2.inc +++ b/meta/recipes-devtools/gcc/gcc-7.2.inc @@ -10,7 +10,7 @@ BINV = "7.2.0" FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-7.2:${FILE_DIRNAME}/gcc-7.2/backport:" -DEPENDS =+ "mpfr gmp libmpc zlib" +DEPENDS =+ "mpfr gmp libmpc zlib flex-native" NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" -- 2.7.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] gcc: add flex-native explicit dependency 2018-01-11 3:15 [PATCH] gcc: add flex-native explicit dependency Denys Dmytriyenko @ 2018-01-11 14:41 ` Richard Purdie 2018-01-11 15:02 ` Denys Dmytriyenko 0 siblings, 1 reply; 4+ messages in thread From: Richard Purdie @ 2018-01-11 14:41 UTC (permalink / raw) To: Denys Dmytriyenko, openembedded-core; +Cc: Denys Dmytriyenko On Wed, 2018-01-10 at 22:15 -0500, Denys Dmytriyenko wrote: > From: Denys Dmytriyenko <denys@ti.com> > > It seems flex is required to build gcc: > > > > > .../work-shared/gcc-7.2.0-r0/gcc-7.2.0/missing: line 81: flex: > > command not found > > WARNING: 'flex' is missing on your system. > > You should only need it if you modified a '.l' file. > > You may want to install the Fast Lexical Analyzer package: > > <http://flex.sourceforge.net/> > > Makefile:2799: recipe for target 'gengtype-lex.c' failed > > make[1]: [gengtype-lex.c] Error 127 (ignored) > Normally this is handled indirectly throught binutils-cross > dependency > pulling in flex-native implicitly. For deterministic builds, this > should > be specified explicitly. > > Signed-off-by: Denys Dmytriyenko <denys@ti.com> > --- > meta/recipes-devtools/gcc/gcc-7.2.inc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/recipes-devtools/gcc/gcc-7.2.inc b/meta/recipes- > devtools/gcc/gcc-7.2.inc > index 1d40cba..d1fb6de 100644 > --- a/meta/recipes-devtools/gcc/gcc-7.2.inc > +++ b/meta/recipes-devtools/gcc/gcc-7.2.inc > @@ -10,7 +10,7 @@ BINV = "7.2.0" > > FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-7.2:${FILE_DIRNAME}/gcc- > 7.2/backport:" > > -DEPENDS =+ "mpfr gmp libmpc zlib" > +DEPENDS =+ "mpfr gmp libmpc zlib flex-native" > NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" > > LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" Agreed, however I think we have bigger problems. I'm testing with this: diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index 65f51430ee2..a5c4a73963e 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -921,6 +921,13 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None): if taskdependees[task][1] == "do_stash_locale" or taskdependees[task][1] == "do_gcc_stash_builddir": return True + + if taskdependees[task][1] == 'do_populate_sysroot': + if taskdependees[task][0] == "flex-native" or taskdependees[task][0] == "bison-native": + #bb.warn("Skipping %s" % str(taskdependees[dep])) + bb.warn("Skipping") + return True + # We only need to trigger packagedata through direct dependencies # but need to preserve packagedata on packagedata links if taskdependees[task][1] == "do_packagedata": and test results so far imply that we need: diff --git a/meta/recipes-devtools/gcc/gcc-7.2.inc b/meta/recipes-devtools/gcc/gcc-7.2.inc index 1d40cba7317..90e4a990cb3 100644 --- a/meta/recipes-devtools/gcc/gcc-7.2.inc +++ b/meta/recipes-devtools/gcc/gcc-7.2.inc @@ -11,7 +11,7 @@ BINV = "7.2.0" FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-7.2:${FILE_DIRNAME}/gcc-7.2/backport:" DEPENDS =+ "mpfr gmp libmpc zlib" -NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native" LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" probably in addition to your patch. I'll continue to run some test builds and see how much breakage the above change shows up. Cheers, Richard ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] gcc: add flex-native explicit dependency 2018-01-11 14:41 ` Richard Purdie @ 2018-01-11 15:02 ` Denys Dmytriyenko 2018-01-11 17:26 ` Richard Purdie 0 siblings, 1 reply; 4+ messages in thread From: Denys Dmytriyenko @ 2018-01-11 15:02 UTC (permalink / raw) To: Richard Purdie; +Cc: Denys Dmytriyenko, openembedded-core On Thu, Jan 11, 2018 at 02:41:15PM +0000, Richard Purdie wrote: > On Wed, 2018-01-10 at 22:15 -0500, Denys Dmytriyenko wrote: > > From: Denys Dmytriyenko <denys@ti.com> > > > > It seems flex is required to build gcc: > > > > > > > > .../work-shared/gcc-7.2.0-r0/gcc-7.2.0/missing: line 81: flex: > > > command not found > > > WARNING: 'flex' is missing on your system. > > > You should only need it if you modified a '.l' file. > > > You may want to install the Fast Lexical Analyzer package: > > > <http://flex.sourceforge.net/> > > > Makefile:2799: recipe for target 'gengtype-lex.c' failed > > > make[1]: [gengtype-lex.c] Error 127 (ignored) > > Normally this is handled indirectly throught binutils-cross > > dependency > > pulling in flex-native implicitly. For deterministic builds, this > > should > > be specified explicitly. > > > > Signed-off-by: Denys Dmytriyenko <denys@ti.com> > > --- > > meta/recipes-devtools/gcc/gcc-7.2.inc | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/meta/recipes-devtools/gcc/gcc-7.2.inc b/meta/recipes- > > devtools/gcc/gcc-7.2.inc > > index 1d40cba..d1fb6de 100644 > > --- a/meta/recipes-devtools/gcc/gcc-7.2.inc > > +++ b/meta/recipes-devtools/gcc/gcc-7.2.inc > > @@ -10,7 +10,7 @@ BINV = "7.2.0" > > > > FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-7.2:${FILE_DIRNAME}/gcc- > > 7.2/backport:" > > > > -DEPENDS =+ "mpfr gmp libmpc zlib" > > +DEPENDS =+ "mpfr gmp libmpc zlib flex-native" > > NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" > > > > LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" > > Agreed, however I think we have bigger problems. I'm testing with this: > > diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass > index 65f51430ee2..a5c4a73963e 100644 > --- a/meta/classes/sstate.bbclass > +++ b/meta/classes/sstate.bbclass > @@ -921,6 +921,13 @@ def setscene_depvalid(task, taskdependees, notneeded, d, log=None): > if taskdependees[task][1] == "do_stash_locale" or taskdependees[task][1] == "do_gcc_stash_builddir": > return True > > + > + if taskdependees[task][1] == 'do_populate_sysroot': > + if taskdependees[task][0] == "flex-native" or taskdependees[task][0] == "bison-native": > + #bb.warn("Skipping %s" % str(taskdependees[dep])) > + bb.warn("Skipping") > + return True > + > # We only need to trigger packagedata through direct dependencies > # but need to preserve packagedata on packagedata links > if taskdependees[task][1] == "do_packagedata": > > > and test results so far imply that we need: > > diff --git a/meta/recipes-devtools/gcc/gcc-7.2.inc b/meta/recipes-devtools/gcc/gcc-7.2.inc > index 1d40cba7317..90e4a990cb3 100644 > --- a/meta/recipes-devtools/gcc/gcc-7.2.inc > +++ b/meta/recipes-devtools/gcc/gcc-7.2.inc > @@ -11,7 +11,7 @@ BINV = "7.2.0" > FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-7.2:${FILE_DIRNAME}/gcc-7.2/backport:" > > DEPENDS =+ "mpfr gmp libmpc zlib" > -NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" > +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native flex-native" > > LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" > > > probably in addition to your patch. I'll continue to run some test > builds and see how much breakage the above change shows up. Thanks. I was building native gcc for the target, while using external prebuilt cross toolchain. I first tried adding flex-native to NATIVEDEPS list, but that didn't help - looks like this list is only used for cross and crosssdk builds. -- Denys ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] gcc: add flex-native explicit dependency 2018-01-11 15:02 ` Denys Dmytriyenko @ 2018-01-11 17:26 ` Richard Purdie 0 siblings, 0 replies; 4+ messages in thread From: Richard Purdie @ 2018-01-11 17:26 UTC (permalink / raw) To: Denys Dmytriyenko; +Cc: Denys Dmytriyenko, openembedded-core On Thu, 2018-01-11 at 10:02 -0500, Denys Dmytriyenko wrote: > On Thu, Jan 11, 2018 at 02:41:15PM +0000, Richard Purdie wrote: > > and test results so far imply that we need: > > > > diff --git a/meta/recipes-devtools/gcc/gcc-7.2.inc b/meta/recipes- > > devtools/gcc/gcc-7.2.inc > > index 1d40cba7317..90e4a990cb3 100644 > > --- a/meta/recipes-devtools/gcc/gcc-7.2.inc > > +++ b/meta/recipes-devtools/gcc/gcc-7.2.inc > > @@ -11,7 +11,7 @@ BINV = "7.2.0" > > FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-7.2:${FILE_DIRNAME}/gcc- > > 7.2/backport:" > > > > DEPENDS =+ "mpfr gmp libmpc zlib" > > -NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native" > > +NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native > > flex-native" > > > > LICENSE = "GPL-3.0-with-GCC-exception & GPLv3" > > > > > > probably in addition to your patch. I'll continue to run some test > > builds and see how much breakage the above change shows up. > Thanks. I was building native gcc for the target, while using > external > prebuilt cross toolchain. I first tried adding flex-native to > NATIVEDEPS > list, but that didn't help - looks like this list is only used for > cross and > crosssdk builds. I'll probably take your at and perf patches, my gcc one which covers the cross and candadian variants and merge a change to the sstate dependency code which means we'll explicitly see these dependency issues in future. I'll queue this in -next and test. Cheers, Richard ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-01-11 17:26 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-01-11 3:15 [PATCH] gcc: add flex-native explicit dependency Denys Dmytriyenko 2018-01-11 14:41 ` Richard Purdie 2018-01-11 15:02 ` Denys Dmytriyenko 2018-01-11 17:26 ` Richard Purdie
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox