[oe] [meta-java][PATCH] openjdk-8: fix compiler detection
Patrick Ohly
patrick.ohly at intel.com
Wed Jul 20 09:48:08 UTC 2016
When GCC is at version 4 or 5, parsing the recipe fails with:
ERROR: ExpansionError during parsing
.../ostro-os/meta-java/recipes-core/openjdk/openjdk-8_72b05.bb
...
bb.data_smart.ExpansionError: Failure expanding variable CFLAGS,
expression was -O2 -pipe -g -feliminate-unused-debug-types
-fdebug-prefix-map=.../ostro-os/build/tmp-glibc/work/corei7-64-ostro-
linux/openjdk-8/72b05-r0=/usr/src/debug/openjdk-8/72b05-r0
-fdebug-prefix-map=.../ostro-os/build/tmp-glibc/sysroots/x86_64-linux=
-fdebug-prefix-map=.../ostro-os/build/tmp-glibc/sysroots/intel-corei7-64=
-fstack-protector-strong -D_FORTIFY_SOURCE=2
${ <at> version_specific_cflags(d)} -Wno-error=deprecated-declarations which
triggered exception TypeError: can only join an iterable
That's because FLAGS_GCC<version> may be unset, thus leading to
d.getVar() returning None and ''.join(extraflags) failing.
The join() is also redundant: extraflags already is a string. It
happened to work because Python treats a string as sequence of
single-character strings, and thus ''.join() re-created the original
string.
Signed-off-by: Patrick Ohly <patrick.ohly at intel.com>
---
recipes-core/openjdk/openjdk-8-common.inc | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/recipes-core/openjdk/openjdk-8-common.inc b/recipes-core/openjdk/openjdk-8-common.inc
index 089f907..7ad802a 100644
--- a/recipes-core/openjdk/openjdk-8-common.inc
+++ b/recipes-core/openjdk/openjdk-8-common.inc
@@ -271,10 +271,8 @@ def version_specific_cflags(d):
# doesn't work anyway.
version = d.getVar('GCCVERSION', expand=True)[0]
- if int(version) >= 4:
- extraflags = d.getVar('FLAGS_GCC%d' % int(version), True)
-
- return ''.join(extraflags)
+ extraflags = d.getVar('FLAGS_GCC%d' % int(version), True) or ''
+ return extraflags
CFLAGS_append = " ${@version_specific_cflags(d)}"
CXXFLAGS_append = " ${@version_specific_cflags(d)}"
--
2.1.4
More information about the Openembedded-devel
mailing list