From 0ee22eb061545d10efec424cdc0c17510bfaafc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Sun, 31 Dec 2017 00:09:26 +0200 Subject: [PATCH] build: fix Go version comparison for Windows linker --- build/ci.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build/ci.go b/build/ci.go index ff16d8068f..37d8c09696 100644 --- a/build/ci.go +++ b/build/ci.go @@ -263,7 +263,10 @@ func goToolArch(arch string, subcmd string, args ...string) *exec.Cmd { if subcmd == "build" || subcmd == "install" || subcmd == "test" { // Go CGO has a Windows linker error prior to 1.8 (https://github.com/golang/go/issues/8756). // Work around issue by allowing multiple definitions for <1.8 builds. - if runtime.GOOS == "windows" && runtime.Version() < "go1.8" { + var minor int + fmt.Sscanf(strings.TrimPrefix(runtime.Version(), "go1."), "%d", &minor) + + if runtime.GOOS == "windows" && minor < 8 { cmd.Args = append(cmd.Args, []string{"-ldflags", "-extldflags -Wl,--allow-multiple-definition"}...) } }