[meta-virtualization] [PATCH] openvswitch: Fix compile problems with i586-nlp
Jason Wessel
jason.wessel at windriver.com
Fri Aug 25 13:13:04 PDT 2017
If you have in your $CC from the compiler template any kind of
directive which contains a comma character it is going to cause ovs to
not build due to the macro expansion in the Makefile:
CC = $(if $(C),env REAL_CC="'"$CC"'" CHECK="$(SPARSE) -I $(top_srcdir)/include/sparse $(SPARSEFLAGS) $(SPARSE_EXTRA_INCLUDES) " cgcc $(CGCCFLAGS),'"$CC"
Put more simply:
CC = $(if $(C), CONFIGURE_CC_DEFINITION, cgcc args CONFIGURE_CC_DEFINITION)
The CONFIGURE_CC_DEFINITION for the i585-nlp definition had
"-Wa,-momit-lock-prefix=yes". The comma there caused a strings to
"break" in the wrong place in the $(if) macro and the build of recipe
will fail with the error shown below:
/bin/sh: -c: line 1: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 3: syntax error: unexpected end of file
The solution is to transform the "-Wa," -> "-Xassembler ".
Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
---
recipes-networking/openvswitch/openvswitch.inc | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/recipes-networking/openvswitch/openvswitch.inc b/recipes-networking/openvswitch/openvswitch.inc
index ab5a7e4..58e0fcb 100644
--- a/recipes-networking/openvswitch/openvswitch.inc
+++ b/recipes-networking/openvswitch/openvswitch.inc
@@ -86,6 +86,12 @@ INITSCRIPT_PARAMS_${PN}-switch = "defaults 71"
INITSCRIPT_NAME_${PN}-testcontroller = "openvswitch-testcontroller"
INITSCRIPT_PARAMS_${PN}-testcontroller = "defaults 72"
+do_configure_prepend() {
+ # Work around the for Makefile CC=$(if ....) by swapping out any
+ # "-Wa," assembly directives with "-Xassembler
+ CC=`echo '${CC}' | sed 's/-Wa,/-Xassembler /g'`
+}
+
do_install_append() {
install -d ${D}/${sysconfdir}/default/
install -m 660 ${WORKDIR}/openvswitch-switch-setup ${D}/${sysconfdir}/default/openvswitch-switch
--
2.11.0
More information about the meta-virtualization
mailing list