summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/go-cross
Commit message (Collapse)AuthorAgeFilesLines
* go-cross: allow tmp directory to already existBruce Ashfield2016-06-142-2/+2
| | | | | | | | | | | | | | | The change [go-native: don't use host /var/tmp for temp build artifacts] fixed builds, but it is possible that the tmp directory already exists, which results in the following failure: | DEBUG: Executing shell function do_compile | mkdir: cannot create directory 'tmp/work/x86_64-linux/go-cross/1.6.2-r0/build-tmp': File exists | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_compile (log file is located at tmp/work/x86_64-linux/go-cross/1.6.2-r0/temp/log.do_compile.29142) By adding a -p to the mkdir calls, we can survive this scenario. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* go-native: don't use host /var/tmp for temp build artifactsMark Asselstine2016-06-141-0/+4
| | | | | | | | | | | | | | | | Similar to a recent change for go-cross we can potentially run in to a build failure: go tool dist: mkdtemp(/var/tmp/go-cbuild-A0rrP5): No such file or directory when the host doesn't have a /var/tmp or when the permissions don't allow for the creation of the temporary directory. Instead of relying on /var/tmp we create and use a temporary directory in the $WORKDIR to work around this issue. This is passed to the build via the TMPDIR environment variable. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* go-cross: don't use host /var/tmp for temporary build artifactsMark Asselstine2016-06-141-1/+5
| | | | | | | | | | | | | | | | The default behavior for go-cross build is to use the path specified in TMPDIR for some temporary build artifacts and if no TMPDIR is set in the environment to fallback to use /var/tmp. This causes a build failure on hosts that do not have a /var/tmp or that have restrictive permissions on /var/tmp. The failure is seen as: go tool dist: mkdtemp(/var/tmp/go-cbuild-yhmNbi): No such file or directory By setting TMPDIR and ensuring we create this directory we can avoid the associated issue with using the default. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* go: add go-cross 1.6Bruce Ashfield2016-06-148-0/+240
| | | | | | | Introduce the 1.6 go release, and port patches to apply to this version. Existing versions (1.5) are not removed, so this is not a forced update. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* go-cross: add relocation fix to 1.4 for new binutils.Paul Gortmaker2016-04-222-0/+224
| | | | | | | | | | | | | | | | | | | | | | | Add relocation fix as documented in contained commit log, so that we can build with newer binutils, as per the ones we get via the self hosted builder and things like build-appliance. Fixes: | go-native/1.4.3-r0/go/pkg/linux_amd64/runtime/cgo.a(_all.o): unknown relocation type 42; compiled without -fpic? | go-native/1.4.3-r0/go/pkg/linux_amd64/runtime/cgo.a(_all.o): unknown relocation type 42; compiled without -fpic? | runtime/cgo(.text): unexpected relocation type 298 | runtime/cgo(.text): unexpected relocation type 298 | # cmd/go | go-native/1.4.3-r0/go/pkg/linux_amd64/runtime/cgo.a(_all.o): unknown relocation type 42; compiled without -fpic? | go-native/1.4.3-r0/go/pkg/linux_amd64/runtime/cgo.a(_all.o): unknown relocation type 42; compiled without -fpic? | runtime/cgo(.text): unexpected relocation type 298 | runtime/cgo(.text): unexpected relocation type 298 | WARNING: go-native/1.4.3-r0/temp/run.do_compile.30243:1 exit 2 from './make.bash --host-only' | ERROR: Function failed: do_compile (log file is located at go-native/1.4.3-r0/temp/log.do_compile.30243) ERROR: Task 6 (meta-virtualization/recipes-devtools/go-cross/go-native_1.4.bb, do_compile) failed with exit code '1' Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* go-cross: uprev 1.4.2 --> 1.4.3Paul Gortmaker2016-04-221-3/+3
| | | | | | | There is a fix for newer binutils that was aimed at being placed on the 1.4.3 baseline, so update accordingly. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
* go-cross: uprev to 1.5.2Zongchun Yu2016-04-1919-286/+449
| | | | | | | | * Add go-native as build bootstrap for go-cross. * Upgrade go-cross to v1.5.2 Signed-off-by: Zongchun Yu <zongchun.yu@nxp.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* go-cross-1.3: Fix missing dependency for cross compileJason Wessel2016-01-261-1/+1
| | | | | | | | | | | | | The go-cross-1.3 package depends on the libgcc to be installed for the cross compiler else you will receive an error if this package builds first like: runtime/cgo /opt/tmp/sysroots/x86_64-linux/usr/bin/arm-wrs-linux-gnueabi/../../libexec/arm-wrs-linux-gnueabi/gcc/arm-wrs-linux-gnueabi/4.9.1/ld: cannot find crtbeginS.o: No such file or directory collect2: error: ld returned 1 exit status Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* Enable go-cross 1.3 to coexist with later versionsAmy Fong2015-10-131-5/+6
| | | | | | | | | | | | Since we need go 1.3 to co-exist with later versions (ie 1.4), package go-cross_1.3 as go-cross-1.3_1.3. go 1.3 will be installed to a different path than go-cross, this requires go packages needing go 1.3 to set its PATH to: export PATH=${STAGING_BINDIR_NATIVE}/${HOST_SYS}/go-1.3:$PATH Signed-off-by: Amy Fong <amy.fong@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* Backport go-cross: set alignment for the .rel.plt section on 32-bit ↵Amy Fong2015-10-132-0/+31
| | | | | | | | | | | | | | | | | | | | | | architectures submitted to upstream https://github.com/errordeveloper/oe-meta-go go-cross: set alignment for the .rel.plt section on 32-bit architectures This patch is cherry picked from golang's upstream, and this patch will fix the package of etcd's following build error: ERROR: debugedit failed with exit code 256 (cmd was 'bitbake_build/tmp/sysroots/x86_64-linux/usr/lib/rpm/bin/debugedit' -b 'bitbake_build/tmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi' -d '/usr/src/debug' -i -l 'bitbake_build/tmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/etcd/git-r0/debugsources.list' 'bitbake_build/tmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/etcd/git-r0/package/usr/bin/etcd'): bitbake_build/tmp/sysroots/x86_64-linux/usr/lib/rpm/bin/debugedit: elf_update: invalid section alignment ERROR: Function failed: split_and_strip_files ERROR: Logfile of failure stored in: bitbake_build/tmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/etcd/git-r0/temp/do_package/log.do_package.109414 ERROR: Task 12 (layers/meta-overc/meta-pod/recipes-connectivity/etcd/etcd_git.bb, do_package) failed with exit code '1' Signed-off-by: fupan li <fupan.li@windriver.com> Signed-off-by: Amy Fong <amy.fong@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* Backport go-cross: fix the building failed for quark bspAmy Fong2015-10-131-0/+3
| | | | | | | | | | | | | | | submitted to upstream https://github.com/errordeveloper/oe-meta-go go-cross: fix the building failed for quark bsp Quark used i586 architecture, and golang dealt intel 32bit architecture as 386, so export GOARCH = "386" when the TARGET_ARCH is i586 to support quark bsp. Signed-off-by: fupan li <fupan.li@windriver.com> Signed-off-by: Amy Fong <amy.fong@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* Backport go-cross: fix the bug of cross building errorAmy Fong2015-10-131-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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@windriver.com> Signed-off-by: Amy Fong <amy.fong@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* docker: needs go 1.3Amy Fong2015-10-133-0/+249
The current version of docker (1.6.2) requires go 1.3 See go 1.4 sqlite issue: https://github.com/docker/docker/issues/9649 Signed-off-by: Amy Fong <amy.fong@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>