[meta-virtualization] [PATCH 2/7] Backport go-cross: fix the bug of cross building error
Amy Fong
amy.fong at windriver.com
Tue Oct 6 11:41:10 PDT 2015
submitted to upstream https://github.com/errordeveloper/oe-meta-go
go-cross: fix the bug of cross building error
When a package's recipe inherit "cross" bbclass, its CC and CXX are defined
as the host native gcc and g++ instead of the host cross toolchain, fot this
case, CC_FOR_TARGET and CXX_FOR_TARGET should be defined the same with CC and
CXX, instead they are should be define as host cross toolchain's CC and CXX,
otherwise, it will build failed for target arm architecture as below:
| # Building packages and commands for linux/arm.
| + CC='gcc '
| + bitbake_build/tmp/work/x86_64-wrs-linux-gnueabi/go-cross/1.4-r0/go/pkg/tool/linux_amd64/go_bootstrap install -ccflags '' -gcflags '' -ldflags '' -v std
| runtime
| errors
| sync/atomic
| unicode
| unicode/utf8
| math
| sort
| encoding
| unicode/utf16
| container/list
| crypto/subtle
| runtime/cgo
| container/ring
| image/color
| runtime/race
| # runtime/cgo
| gcc: error: unrecognized command line option '-marm'
Signed-off-by: fupan li <fupan.li at windriver.com>
Signed-off-by: Amy Fong <amy.fong at windriver.com>
---
recipes-devtools/go-cross/go-cross_1.3.bb | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/recipes-devtools/go-cross/go-cross_1.3.bb b/recipes-devtools/go-cross/go-cross_1.3.bb
index 8723142..9ecc295 100644
--- a/recipes-devtools/go-cross/go-cross_1.3.bb
+++ b/recipes-devtools/go-cross/go-cross_1.3.bb
@@ -5,6 +5,8 @@ DESCRIPTION = "\
HOMEPAGE = "https://golang.org/"
LICENSE = "BSD-3-Clause"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc"
+
SRC_URI = "http://golang.org/dl/go${PV}.src.tar.gz"
S = "${WORKDIR}/go/"
@@ -44,8 +46,8 @@ do_compile() {
## TODO: consider setting GO_EXTLINK_ENABLED
export CC="${BUILD_CC}"
- export CC_FOR_TARGET="${CC}"
- export CXX_FOR_TARGET="${CXX}"
+ export CC_FOR_TARGET="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
+ export CXX_FOR_TARGET="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
export GO_CCFLAGS="${HOST_CFLAGS}"
export GO_LDFLAGS="${HOST_LDFLAGS}"
--
2.5.3
More information about the meta-virtualization
mailing list