tmemes
tmemes copied to clipboard
Recent changes somehow broke builds in Gokrazy
2023/10/18 06:34:21 updating package 12 of 25: [go get github.com/tailscale/tmemes/tmemes]
2023/10/18 06:34:21 in builddir/github.com/tailscale/tmemes
go: github.com/tailscale/tmemes/tmemes imports
tailscale.com/tsnet imports
tailscale.com/wgengine/netstack imports
gvisor.dev/gvisor/pkg/bufferv2: cannot find module providing package gvisor.dev/gvisor/pkg/bufferv2
2023/10/18 06:34:21 [go get github.com/tailscale/tmemes/tmemes]: exit status 1
I'm not sure why, but https://github.com/tailscale/tmemes/commit/af942c74c1179b6b692cad6b0c37c71eac5009e2 somehow broke builds with Gokrazy. I'm also not sure if this is the correct place to file this, so please redirect me if it's not.
Works by itself at that commit:
bradfitz@book1pro tmemes % git rev-parse
bradfitz@book1pro tmemes % git rev-parse HEAD
af942c74c1179b6b692cad6b0c37c71eac5009e2
bradfitz@book1pro tmemes % git status
On branch main
Your branch is behind 'origin/main' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working tree clean
bradfitz@book1pro tmemes % go version
go version go1.21.0 darwin/arm64
bradfitz@book1pro tmemes % go install ./tmemes
bradfitz@book1pro tmemes %
What's your application's go.mod have for Tailscale/gvisor? Sounds like you're referencing the gvisor master branch (with Bazel file layout) instead of their "go" branch with normal cmd/go tool compatible layout.
/cc @creachadair
To expand on what @bradfitz noted, gvisor has a somewhat hostile versioning strategy with no tags or stable release markers, so running (say) go update -u will just grab whatever is at their tip when doing the update, which often contains breaking changes relative to what the direct dependencies use.
I should probably pin this repo to a tagged tailscale.com release. Meanwhile, however, if you want to update other dependencies you should be able to work around this by explicitly downgrading gvisor to the version tailscale depends on, which as I write this is 4fe30062272c:
go get gvisor.dev/gvisor@4fe30062272c
…after updating any other things you care about.