DisposaBoy / GoSublime

A Golang plugin collection for SublimeText 3, providing code completion and other IDE-like features.
MIT License
3.42k stars 299 forks source link

MarGo testing functionality broken in Go1.14 #962

Closed kortschak closed 4 years ago

kortschak commented 4 years ago

After upgrading Go to version 1.14, Ctrl+B testing via MarGo no longer works. The MarGo console shows this for example (same in other packages):

[ ~/src/github.com/biogo/biogo/io/seqio/fai/ ] # 
[ `go test` | done ]
    agent stopping. request aborted

The full Sublime Text console output from MarGo is pasted below, and here is the go env.

~ $ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN="/home/user/bin"
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/user"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/user/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/user/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build394120586=/tmp/go-build -gno-record-gcc-switches"

The console output:

** 2020-03-01 13:22:19.827838 **:
GoSublime init r20.02.01-1 (1.076s)
|   install margo: cmd: `['~/go/bin/go', 'build', '-tags', '', '-v', '-o', 'gosublime.margo_r20.02.01-1_go1.14.exe', 'gosublime/cmd/margo']`
|                > stdout: `
|                > 
|                > `
|                > stderr: `
|                > 
|                > `
|                > exception: `None`
|   install state: done
| sublime.version: 3211
| sublime.channel: stable
|       about.ann: a20.02.01-1
|   about.version: r20.02.01-1
|         version: r20.02.01-1
|        platform: linux-x64
|            ~bin: ~/.config/sublime-text-3/Packages/User/GoSublime/linux-x64/bin
|       margo.exe: ~bin/gosublime.margo_r20.02.01-1_go1.14.exe (ok)
|          go.exe: ~/go/bin/go (ok)
|      go.version: go1.14
|          GOROOT: ~/go
|          GOPATH: /home/user
|           GOBIN: ~/bin
|       set.shell: []
|       env.shell: /bin/bash
|       shell.cmd: ['/bin/bash', '-l', '-c', '${CMD}']
|    sh.bootstrap: 
|                >  using shell env GO111MODULE=on
|                >  using shell env GOBIN=~/bin
|                >  using shell env GOPATH=/home/user
|                >  using shell env GOROOT=~/go
|                >  using shell env PATH=/media/user/63ddfdce-5f0a-41d4-b860-1f8127d6e6d1/openscad:~/bin:~/src/perkeep.org/bin:~/go/bin:~/Development/android-studio/bin:~/bin:~/.config/sublime-text-3/Packages/GoSublime/bin:~/.config/sublime-text-3/Packages/User/GoSublime/bin:~/bin:/media/user/63ddfdce-5f0a-41d4-b860-1f8127d6e6d1/openscad:~/src/perkeep.org/bin:~/go/bin:~/Development/android-studio/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/go/bin:/usr/local/opt/go/bin
|                >  go version: `go1.14` (raw version string `go1.14`)
|                >  shell bootstrap took 0.420s
|                >
--------------------------------

** 2020-03-01 13:22:19.828084 **:
GoSublime: removing old binary: `/home/user/.config/sublime-text-3/Packages/User/GoSublime/linux-x64/bin/gosublime.margo_r20.02.01-1_go1.13.8.exe'
--------------------------------

reloading settings Packages/User/GoSublime-aux.sublime-settings
  margo: agent#007: ['go', 'install', '-v', '-x', 'margo.sh']:
  WORK=/tmp/go-build522825086
  mkdir -p $WORK/b001/
  cat >$WORK/b001/importcfg.link << 'EOF' # internal
  packagefile margo.sh=/home/user/.cache/go-build/24/246889c3f0af3b9fc201b548eeea241d552662d0a8f67dfa37770aa775990311-d
  packagefile margo.sh/cmdpkg/margo=/home/user/.cache/go-build/e5/e514c0f066e72089a5efe3406a0700bd24e004a6980ff42301427c4991cb069b-d
  packagefile runtime=/home/user/go/pkg/linux_amd64/runtime.a
  packagefile flag=/home/user/go/pkg/linux_amd64/flag.a
  packagefile fmt=/home/user/go/pkg/linux_amd64/fmt.a
  packagefile margo.sh/vendor/github.com/urfave/cli=/home/user/.cache/go-build/43/43525815a590fe88fc005e9810a14d90da2b80c8e70691cbf42b29d86ddef4e7-d
  packagefile go/build=/home/user/go/pkg/linux_amd64/go/build.a
  packagefile margo.sh/cmdpkg/margo/cmdrunner=/home/user/.cache/go-build/fe/fe1fb7337ebc08d3ac09bdc7bbd4b151f8c7cd1206f8cd8b03afe834a6ea396e-d
  packagefile margo.sh/mgcli=/home/user/.cache/go-build/83/8322df55d05746fd70e9ca6c0ca67d90d77699fdf851622ab1db8ffd7e9492e0-d
  packagefile margo.sh/sublime=/home/user/.cache/go-build/e8/e8e8b2ff19d769ad7651a8b826d99f6acc4d5c6107e06a212df97f890afe10fc-d
  packagefile os=/home/user/go/pkg/linux_amd64/os.a
  packagefile strings=/home/user/go/pkg/linux_amd64/strings.a
  packagefile internal/bytealg=/home/user/go/pkg/linux_amd64/internal/bytealg.a
  packagefile internal/cpu=/home/user/go/pkg/linux_amd64/internal/cpu.a
  packagefile runtime/internal/atomic=/home/user/go/pkg/linux_amd64/runtime/internal/atomic.a
  packagefile runtime/internal/math=/home/user/go/pkg/linux_amd64/runtime/internal/math.a
  packagefile runtime/internal/sys=/home/user/go/pkg/linux_amd64/runtime/internal/sys.a
  packagefile errors=/home/user/go/pkg/linux_amd64/errors.a
  packagefile io=/home/user/go/pkg/linux_amd64/io.a
  packagefile reflect=/home/user/go/pkg/linux_amd64/reflect.a
  packagefile sort=/home/user/go/pkg/linux_amd64/sort.a
  packagefile strconv=/home/user/go/pkg/linux_amd64/strconv.a
  packagefile time=/home/user/go/pkg/linux_amd64/time.a
  packagefile internal/fmtsort=/home/user/go/pkg/linux_amd64/internal/fmtsort.a
  packagefile math=/home/user/go/pkg/linux_amd64/math.a
  packagefile sync=/home/user/go/pkg/linux_amd64/sync.a
  packagefile unicode/utf8=/home/user/go/pkg/linux_amd64/unicode/utf8.a
  packagefile bytes=/home/user/go/pkg/linux_amd64/bytes.a
  packagefile margo.sh/vendor/github.com/cpuguy83/go-md2man/md2man=/home/user/.cache/go-build/76/76cda75c8d145198e0764cf0e4259136d5bd429d388e843162d57930a3b0c959-d
  packagefile io/ioutil=/home/user/go/pkg/linux_amd64/io/ioutil.a
  packagefile path/filepath=/home/user/go/pkg/linux_amd64/path/filepath.a
  packagefile syscall=/home/user/go/pkg/linux_amd64/syscall.a
  packagefile text/tabwriter=/home/user/go/pkg/linux_amd64/text/tabwriter.a
  packagefile text/template=/home/user/go/pkg/linux_amd64/text/template.a
  packagefile unicode=/home/user/go/pkg/linux_amd64/unicode.a
  packagefile bufio=/home/user/go/pkg/linux_amd64/bufio.a
  packagefile go/ast=/home/user/go/pkg/linux_amd64/go/ast.a
  packagefile go/doc=/home/user/go/pkg/linux_amd64/go/doc.a
  packagefile go/parser=/home/user/go/pkg/linux_amd64/go/parser.a
  packagefile go/token=/home/user/go/pkg/linux_amd64/go/token.a
  packagefile internal/goroot=/home/user/go/pkg/linux_amd64/internal/goroot.a
  packagefile internal/goversion=/home/user/go/pkg/linux_amd64/internal/goversion.a
  packagefile log=/home/user/go/pkg/linux_amd64/log.a
  packagefile os/exec=/home/user/go/pkg/linux_amd64/os/exec.a
  packagefile path=/home/user/go/pkg/linux_amd64/path.a
  packagefile margo.sh/mgutil=/home/user/.cache/go-build/d0/d03c64f90ec723c7d83bf3e8eb2bfc90050ab4e3105548511eeef523b0da3420-d
  packagefile margo.sh/mg=/home/user/.cache/go-build/ed/ed810b3e5c0967bd5f4a265a9829c42570f7568f4e678d84fd4b60d10ed14efa-d
  packagefile margo.sh/why_would_you_make_yotsuba_cry=/home/user/.cache/go-build/3a/3acc41f232c30dbf6672e74ac978d1998881f4bf6b7a40c51dad685bb63e953f-d
  packagefile internal/oserror=/home/user/go/pkg/linux_amd64/internal/oserror.a
  packagefile internal/poll=/home/user/go/pkg/linux_amd64/internal/poll.a
  packagefile internal/syscall/unix=/home/user/go/pkg/linux_amd64/internal/syscall/unix.a
  packagefile internal/testlog=/home/user/go/pkg/linux_amd64/internal/testlog.a
  packagefile sync/atomic=/home/user/go/pkg/linux_amd64/sync/atomic.a
  packagefile internal/reflectlite=/home/user/go/pkg/linux_amd64/internal/reflectlite.a
  packagefile math/bits=/home/user/go/pkg/linux_amd64/math/bits.a
  packagefile internal/race=/home/user/go/pkg/linux_amd64/internal/race.a
  packagefile margo.sh/vendor/github.com/russross/blackfriday=/home/user/.cache/go-build/f3/f313f1ac1cf2291276b1c04592ed7fea1c1505d6370e39ae08dfeef11460bd7b-d
  packagefile html=/home/user/go/pkg/linux_amd64/html.a
  packagefile net/url=/home/user/go/pkg/linux_amd64/net/url.a
  packagefile text/template/parse=/home/user/go/pkg/linux_amd64/text/template/parse.a
  packagefile go/scanner=/home/user/go/pkg/linux_amd64/go/scanner.a
  packagefile internal/lazyregexp=/home/user/go/pkg/linux_amd64/internal/lazyregexp.a
  packagefile context=/home/user/go/pkg/linux_amd64/context.a
  packagefile margo.sh/memo=/home/user/.cache/go-build/10/103b5a3148fa450b6c40e7d010f80acde7fbaf7179907d8d165d4280e8505cbd-d
  packagefile encoding/base64=/home/user/go/pkg/linux_amd64/encoding/base64.a
  packagefile encoding/json=/home/user/go/pkg/linux_amd64/encoding/json.a
  packagefile margo.sh/vendor/github.com/dustin/go-humanize=/home/user/.cache/go-build/27/276d20b7ab7f3b45f5aaa0ac9cd18ddc731e58c40c02493788cf1cff96ec008f-d
  packagefile margo.sh/vendor/github.com/ugorji/go/codec=/home/user/.cache/go-build/ea/eabc64bddd84ed7179ea3f2983d4b78cca1b72fd5c6cd547da941e9ad2fcd573-d
  packagefile margo.sh/vendor/golang.org/x/crypto/blake2b=/home/user/.cache/go-build/ac/ac6fc5046b084c8d922ed1e5a620ff607ba4c9e034224199903015c4bc82fbbc-d
  packagefile margo.sh/bolt=/home/user/.cache/go-build/e5/e5ead1dab276cfe4560244ab3ee0fbb7a47b74288c28b481c4161e4987eb6a11-d
  packagefile margo.sh/htm=/home/user/.cache/go-build/ff/ff94f0cbd0a0134d3dfa649fd33a27a2c409b448966ff5033b6bef3045048c38-d
  packagefile margo.sh/mg/actions=/home/user/.cache/go-build/e2/e2c566820e8304255ffc60d7573b95257f3aff670e4281ffe64fcf7be2bbfb13-d
  packagefile margo.sh/mgpf=/home/user/.cache/go-build/80/80a39732827c487e0a304100eba61202b8accd1a2c35852ea40b17182e349b41-d
  packagefile margo.sh/vfs=/home/user/.cache/go-build/fd/fdb89f0657ef2f678f5ab186c3ff0a9e056dbea9313175d5642a81535116d353-d
  packagefile net/http=/home/user/go/pkg/linux_amd64/net/http.a
  packagefile regexp=/home/user/go/pkg/linux_amd64/regexp.a
  packagefile encoding/binary=/home/user/go/pkg/linux_amd64/encoding/binary.a
  packagefile encoding=/home/user/go/pkg/linux_amd64/encoding.a
  packagefile unicode/utf16=/home/user/go/pkg/linux_amd64/unicode/utf16.a
  packagefile math/big=/home/user/go/pkg/linux_amd64/math/big.a
  packagefile net/rpc=/home/user/go/pkg/linux_amd64/net/rpc.a
  packagefile crypto=/home/user/go/pkg/linux_amd64/crypto.a
  packagefile margo.sh/vendor/golang.org/x/sys/cpu=/home/user/.cache/go-build/40/4085476ad260952f296f4b760d13d29b4a467d19eb8bea34a9b8f5370dd45883-d
  packagefile hash=/home/user/go/pkg/linux_amd64/hash.a
  packagefile margo.sh/vendor/github.com/coreos/bbolt=/home/user/.cache/go-build/d5/d563c563e14e50e38641c46853b421897e06d25ce14757240d51660eb0ab03e3-d
  packagefile margo.sh/vendor/github.com/karrick/godirwalk=/home/user/.cache/go-build/6c/6cd7873e21353814d1ac2f5499d0127458c2a1bded697f56dcc8eea5d40e5696-d
  packagefile compress/gzip=/home/user/go/pkg/linux_amd64/compress/gzip.a
  packagefile container/list=/home/user/go/pkg/linux_amd64/container/list.a
  packagefile crypto/rand=/home/user/go/pkg/linux_amd64/crypto/rand.a
  packagefile crypto/tls=/home/user/go/pkg/linux_amd64/crypto/tls.a
  packagefile vendor/golang.org/x/net/http/httpguts=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/net/http/httpguts.a
  packagefile vendor/golang.org/x/net/http/httpproxy=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/net/http/httpproxy.a
  packagefile vendor/golang.org/x/net/http2/hpack=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/net/http2/hpack.a
  packagefile vendor/golang.org/x/net/idna=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/net/idna.a
  packagefile math/rand=/home/user/go/pkg/linux_amd64/math/rand.a
  packagefile mime=/home/user/go/pkg/linux_amd64/mime.a
  packagefile mime/multipart=/home/user/go/pkg/linux_amd64/mime/multipart.a
  packagefile net=/home/user/go/pkg/linux_amd64/net.a
  packagefile net/http/httptrace=/home/user/go/pkg/linux_amd64/net/http/httptrace.a
  packagefile net/http/internal=/home/user/go/pkg/linux_amd64/net/http/internal.a
  packagefile net/textproto=/home/user/go/pkg/linux_amd64/net/textproto.a
  packagefile regexp/syntax=/home/user/go/pkg/linux_amd64/regexp/syntax.a
  packagefile encoding/gob=/home/user/go/pkg/linux_amd64/encoding/gob.a
  packagefile html/template=/home/user/go/pkg/linux_amd64/html/template.a
  packagefile hash/fnv=/home/user/go/pkg/linux_amd64/hash/fnv.a
  packagefile compress/flate=/home/user/go/pkg/linux_amd64/compress/flate.a
  packagefile hash/crc32=/home/user/go/pkg/linux_amd64/hash/crc32.a
  packagefile crypto/aes=/home/user/go/pkg/linux_amd64/crypto/aes.a
  packagefile crypto/cipher=/home/user/go/pkg/linux_amd64/crypto/cipher.a
  packagefile crypto/des=/home/user/go/pkg/linux_amd64/crypto/des.a
  packagefile crypto/ecdsa=/home/user/go/pkg/linux_amd64/crypto/ecdsa.a
  packagefile crypto/ed25519=/home/user/go/pkg/linux_amd64/crypto/ed25519.a
  packagefile crypto/elliptic=/home/user/go/pkg/linux_amd64/crypto/elliptic.a
  packagefile crypto/hmac=/home/user/go/pkg/linux_amd64/crypto/hmac.a
  packagefile crypto/md5=/home/user/go/pkg/linux_amd64/crypto/md5.a
  packagefile crypto/rc4=/home/user/go/pkg/linux_amd64/crypto/rc4.a
  packagefile crypto/rsa=/home/user/go/pkg/linux_amd64/crypto/rsa.a
  packagefile crypto/sha1=/home/user/go/pkg/linux_amd64/crypto/sha1.a
  packagefile crypto/sha256=/home/user/go/pkg/linux_amd64/crypto/sha256.a
  packagefile crypto/sha512=/home/user/go/pkg/linux_amd64/crypto/sha512.a
  packagefile crypto/subtle=/home/user/go/pkg/linux_amd64/crypto/subtle.a
  packagefile crypto/x509=/home/user/go/pkg/linux_amd64/crypto/x509.a
  packagefile encoding/asn1=/home/user/go/pkg/linux_amd64/encoding/asn1.a
  packagefile encoding/pem=/home/user/go/pkg/linux_amd64/encoding/pem.a
  packagefile vendor/golang.org/x/crypto/chacha20poly1305=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20poly1305.a
  packagefile vendor/golang.org/x/crypto/cryptobyte=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte.a
  packagefile vendor/golang.org/x/crypto/curve25519=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/crypto/curve25519.a
  packagefile vendor/golang.org/x/crypto/hkdf=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/crypto/hkdf.a
  packagefile vendor/golang.org/x/text/secure/bidirule=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/text/secure/bidirule.a
  packagefile vendor/golang.org/x/text/unicode/bidi=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/text/unicode/bidi.a
  packagefile vendor/golang.org/x/text/unicode/norm=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/text/unicode/norm.a
  packagefile mime/quotedprintable=/home/user/go/pkg/linux_amd64/mime/quotedprintable.a
  packagefile vendor/golang.org/x/net/dns/dnsmessage=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/net/dns/dnsmessage.a
  packagefile internal/nettrace=/home/user/go/pkg/linux_amd64/internal/nettrace.a
  packagefile internal/singleflight=/home/user/go/pkg/linux_amd64/internal/singleflight.a
  packagefile runtime/cgo=/home/user/go/pkg/linux_amd64/runtime/cgo.a
  packagefile crypto/internal/subtle=/home/user/go/pkg/linux_amd64/crypto/internal/subtle.a
  packagefile crypto/internal/randutil=/home/user/go/pkg/linux_amd64/crypto/internal/randutil.a
  packagefile crypto/ed25519/internal/edwards25519=/home/user/go/pkg/linux_amd64/crypto/ed25519/internal/edwards25519.a
  packagefile crypto/dsa=/home/user/go/pkg/linux_amd64/crypto/dsa.a
  packagefile crypto/x509/pkix=/home/user/go/pkg/linux_amd64/crypto/x509/pkix.a
  packagefile encoding/hex=/home/user/go/pkg/linux_amd64/encoding/hex.a
  packagefile vendor/golang.org/x/crypto/cryptobyte/asn1=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/crypto/cryptobyte/asn1.a
  packagefile vendor/golang.org/x/crypto/chacha20=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/crypto/chacha20.a
  packagefile vendor/golang.org/x/crypto/internal/subtle=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/crypto/internal/subtle.a
  packagefile vendor/golang.org/x/crypto/poly1305=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/crypto/poly1305.a
  packagefile vendor/golang.org/x/sys/cpu=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/sys/cpu.a
  packagefile vendor/golang.org/x/text/transform=/home/user/go/pkg/linux_amd64/vendor/golang.org/x/text/transform.a
  EOF
  mkdir -p $WORK/b001/exe/
  cd .
  /home/user/go/pkg/tool/linux_amd64/link -o $WORK/b001/exe/a.out -importcfg $WORK/b001/importcfg.link -buildmode=exe -buildid=aDa21-BFm0TkXPBjS1Xw/8CgHAMSBVI49dbawUqd9/QoQS8VeFSysNgh6b6X23/aDa21-BFm0TkXPBjS1Xw -extld=gcc /home/user/.cache/go-build/24/246889c3f0af3b9fc201b548eeea241d552662d0a8f67dfa37770aa775990311-d
  /home/user/go/pkg/tool/linux_amd64/buildid -w $WORK/b001/exe/a.out # internal
  mkdir -p /home/user/.config/sublime-text-3/Packages/GoSublime/bin/
  cp $WORK/b001/exe/a.out /home/user/.config/sublime-text-3/Packages/GoSublime/bin/margo.sh
  rm -r $WORK/b001/

[13:22:19] margo: agent#007: ['/home/user/.config/sublime-text-3/Packages/GoSublime/bin/margo.sh', 'start', 'margo.sublime', '-codec', 'msgpack']
[13:22:19] margo: agent#007: log: ``` go install -v -tags=margo margo.sh/cmd/margo.sublime ```
[13:22:20] margo: agent#007: log: press ` ctrl+. `,` ctrl+x ` to configure margo or check console for errors
[13:22:20] margo: agent#007: log: *Not* using margo extension: Error: package margo is not in GOROOT (/home/user/go/src/margo)
[13:22:20] margo: agent#007: log: agent GOPATH is /home/user/.config/sublime-text-3/Packages/User/GoSublime:/home/user/.config/sublime-text-3/Packages/GoSublime
[13:22:20] margo: agent#007: stopping
[13:22:20] margo: agent#008: starting
SublimeLinter: sublime_linter.py:266  Delay linting '<untitled 368>' for 0.0s
SublimeLinter: sublime_linter.py:266  Delay linting '<untitled 368>' for 0.3s
  margo: agent#008: ['go', 'install', '-v', '-x', 'margo.sh']:
  WORK=/tmp/go-build051678137
DisposaBoy commented 4 years ago

The latest release v20.03.01 should fix this.

kortschak commented 4 years ago

Thanks. That fixes it for me.