On Thu, Nov 16, 2017 at 12:29 PM, Burton, Ross <[email protected]> wrote: > Looks like this is failing on some of our autobuilders, such as > https://autobuilder.yocto.io/builders/nightly-musl-x86-64/builds/58/steps/BuildImages/logs/stdio
I'm looking into it. Thanks, -Matt > > | cmd/go/internal/vet > | # cmd/api > | > /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-musl-x86-64/build/build/tmp/work/core2-64-poky-linux-musl/go/1.9-r0/go/src/host-tools/link: > running x86_64-poky-linux-musl-gcc failed: exit status 1 > | > /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-musl-x86-64/build/build/tmp/work/core2-64-poky-linux-musl/go/1.9-r0/build-tmp/go-link-213113620/000000.o: > In function `vfprintf': > | /usr/include/x86_64-linux-gnu/bits/stdio2.h:127: undefined reference to > `__vfprintf_chk' > | > /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-musl-x86-64/build/build/tmp/work/core2-64-poky-linux-musl/go/1.9-r0/build-tmp/go-link-213113620/000000.o: > In function `fprintf': > | /usr/include/x86_64-linux-gnu/bits/stdio2.h:97: undefined reference to > `__fprintf_chk' > | collect2: error: ld returned 1 exit status > > It's running x86-64-poky-linux-musl-gcc but using headers from /usr, which > looks wrong. > > Ross > > > On 14 November 2017 at 17:21, Matt Madison <[email protected]> wrote: >> >> Yes, drat it, v3 should fix that. >> >> Thanks, >> -Matt >> >> On Tue, Nov 14, 2017 at 9:20 AM, Otavio Salvador >> <[email protected]> wrote: >> > Hello Matt, >> > >> > A minor thing: >> > >> > Upstream-Status: Pending >> > >> > On Tue, Nov 14, 2017 at 3:18 PM, Matt Madison <[email protected]> >> > wrote: >> >> For cross-canadian builds, we were accidentally using >> >> the crosssdk C compiler when building the Go compiler >> >> bootstrap. Add a patch to the make script to let us >> >> use BUILD_CC, and prepend do_compile to set it in >> >> the local environment to ensure that the trailing >> >> blank gets stripped, since that confuses Go. >> >> >> >> [YOCTO #12341] >> >> >> >> Signed-off-by: Matt Madison <[email protected]> >> >> --- >> >> meta/recipes-devtools/go/go-1.9.inc | 1 + >> >> ...verride-CC-when-building-dist-and-go_boot.patch | 43 >> >> ++++++++++++++++++++++ >> >> meta/recipes-devtools/go/go-common.inc | 4 ++ >> >> 3 files changed, 48 insertions(+) >> >> create mode 100644 >> >> meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch >> >> >> >> diff --git a/meta/recipes-devtools/go/go-1.9.inc >> >> b/meta/recipes-devtools/go/go-1.9.inc >> >> index 65adaa8..1dbb5ef 100644 >> >> --- a/meta/recipes-devtools/go/go-1.9.inc >> >> +++ b/meta/recipes-devtools/go/go-1.9.inc >> >> @@ -15,6 +15,7 @@ SRC_URI += "\ >> >> file://0007-ld-add-soname-to-shareable-objects.patch \ >> >> >> >> file://0008-make.bash-add-GOHOSTxx-indirection-for-cross-canadia.patch \ >> >> >> >> file://0009-cmd-go-buildmode-pie-forces-external-linking-mode-on.patch \ >> >> + >> >> file://0010-make.bash-override-CC-when-building-dist-and-go_boot.patch \ >> >> " >> >> SRC_URI[main.md5sum] = "da2d44ea384076efec43ee1f8b7d45d2" >> >> SRC_URI[main.sha256sum] = >> >> "a4ab229028ed167ba1986825751463605264e44868362ca8e7accc8be057e993" >> >> diff --git >> >> a/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch >> >> b/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch >> >> new file mode 100644 >> >> index 0000000..94ea197 >> >> --- /dev/null >> >> +++ >> >> b/meta/recipes-devtools/go/go-1.9/0010-make.bash-override-CC-when-building-dist-and-go_boot.patch >> >> @@ -0,0 +1,43 @@ >> >> +From 36787fbf0e0a6298ba1038bbbae526654597eee4 Mon Sep 17 00:00:00 2001 >> >> +From: Matt Madison <[email protected]> >> >> +Date: Tue, 14 Nov 2017 07:38:42 -0800 >> >> +Subject: [PATCH 10/10] make.bash: override CC when building dist and >> >> + go_bootstrap >> >> + >> >> +For cross-canadian builds, dist and go_bootstrap >> >> +run on the build host, so CC needs to point to the >> >> +build host's C compiler. Add a BUILD_CC environment >> >> +for this, falling back to $CC if not present. >> >> + >> >> +Upstream-Status: pending >> >> + >> >> +Signed-off-by: Matt Madison <[email protected]> >> >> +--- >> >> + src/make.bash | 4 ++-- >> >> + 1 file changed, 2 insertions(+), 2 deletions(-) >> >> + >> >> +diff --git a/src/make.bash b/src/make.bash >> >> +index 0bdadc6..f199349 100755 >> >> +--- a/src/make.bash >> >> ++++ b/src/make.bash >> >> +@@ -131,7 +131,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then >> >> + exit 1 >> >> + fi >> >> + rm -f cmd/dist/dist >> >> +-GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" >> >> "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist >> >> ++CC=${BUILD_CC:-${CC}} GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" >> >> "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist >> >> + >> >> + # -e doesn't propagate out of eval, so check success by hand. >> >> + eval $(./cmd/dist/dist env -p || echo FAIL=true) >> >> +@@ -167,7 +167,7 @@ elif [ "$1" = "--host-only" ]; then >> >> + fi >> >> + >> >> + if [ "$do_host_build" = "yes" ]; then >> >> +- ./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds >> >> go_bootstrap >> >> ++ CC=${BUILD_CC:-${CC}} ./cmd/dist/dist bootstrap $buildall >> >> $GO_DISTFLAGS -v # builds go_bootstrap >> >> + # Delay move of dist tool to now, because bootstrap may clear >> >> tool directory. >> >> + mv cmd/dist/dist "$GOTOOLDIR"/dist >> >> + echo >> >> +-- >> >> +2.7.4 >> >> + >> >> diff --git a/meta/recipes-devtools/go/go-common.inc >> >> b/meta/recipes-devtools/go/go-common.inc >> >> index ce1eb86..9af6873 100644 >> >> --- a/meta/recipes-devtools/go/go-common.inc >> >> +++ b/meta/recipes-devtools/go/go-common.inc >> >> @@ -20,3 +20,7 @@ B = "${S}" >> >> >> >> INHIBIT_PACKAGE_DEBUG_SPLIT = "1" >> >> SSTATE_SCAN_CMD = "true" >> >> + >> >> +do_compile_prepend() { >> >> + BUILD_CC=${BUILD_CC} >> >> +} >> >> -- >> >> 2.7.4 >> >> >> >> -- >> >> _______________________________________________ >> >> Openembedded-core mailing list >> >> [email protected] >> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core >> > >> > >> > >> > -- >> > Otavio Salvador O.S. Systems >> > http://www.ossystems.com.br http://code.ossystems.com.br >> > Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750 >> -- >> _______________________________________________ >> Openembedded-core mailing list >> [email protected] >> http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
