[meta-virtualization] [PATCH 1/3] go-native: rename to go-initial-native

Mark Asselstine mark.asselstine at windriver.com
Wed Feb 8 09:53:26 PST 2017


With the new per recipe sysroots we were having build issues since the
bootstrap version of go (go-native 1.4) was being found and not the
go-cross (1.6) we are expecting. This results in errors such as the
following when building packages such as containerd:

  _cgo_.o: decoding dwarf section info at offset 0x4: unsupported version 0

This is caused by the dependency tree built up to prepare the per
recipe sysroot. Since recipes like containerd DEPEND on go-cross and
go-cross DEPENDS on go-native both are installed but unlike the old
global sysroot the dependency parsing order results in go-native being
last, overwriting go-cross. You can see this by running a devshell for
containerd and running 'go version'.

By adding '-initial' in the name we exploit functionality in
sstate.bbclass that is already in place to handle gcc-initial and
similar. This results in only explicit DEPENDS on go-native being
enforced, so in the case of containerd we only get a dependency on
go-cross and we therefor get go 1.6 as expected.

Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
---
 recipes-devtools/go-cross/go-cross.inc                                | 4 +++-
 .../go-cross/{go-native_1.4.bb => go-initial-native_1.4.bb}           | 0
 2 files changed, 3 insertions(+), 1 deletion(-)
 rename recipes-devtools/go-cross/{go-native_1.4.bb => go-initial-native_1.4.bb} (100%)

diff --git a/recipes-devtools/go-cross/go-cross.inc b/recipes-devtools/go-cross/go-cross.inc
index 7f74903..857fbd5 100644
--- a/recipes-devtools/go-cross/go-cross.inc
+++ b/recipes-devtools/go-cross/go-cross.inc
@@ -1,7 +1,9 @@
 inherit cross
 
 # libgcc is required for the target specific libraries to build properly
-DEPENDS += "go-native libgcc virtual/${TARGET_PREFIX}gcc"
+DEPENDS += "go-initial-native libgcc virtual/${TARGET_PREFIX}gcc"
+
+do_compile[depends] += "go-initial-native:do_populate_sysroot"
 
 # Prevent runstrip from running because you get errors when the host arch != target arch
 #INHIBIT_PACKAGE_STRIP = "1"
diff --git a/recipes-devtools/go-cross/go-native_1.4.bb b/recipes-devtools/go-cross/go-initial-native_1.4.bb
similarity index 100%
rename from recipes-devtools/go-cross/go-native_1.4.bb
rename to recipes-devtools/go-cross/go-initial-native_1.4.bb
-- 
2.7.4



More information about the meta-virtualization mailing list