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