xjasonlyu / tun2socks

tun2socks - powered by gVisor TCP/IP stack
https://github.com/xjasonlyu/tun2socks/wiki
GNU General Public License v3.0
2.85k stars 405 forks source link

[Bug] Build failed #220

Closed chromer030 closed 1 year ago

chromer030 commented 1 year ago

Verify steps

Version

latest git

What OS are you seeing the problem on?

Linux

Description

Build failed after latest commit

Arch Linux Go : 1.20

CLI or Config

# gvisor.dev/gvisor/pkg/gohacks
../../go/pkg/mod/gvisor.dev/gvisor@v0.0.0-20230204015509-8de5e9e1614b/pkg/gohacks/string_go120_unsafe.go:27:7: unsafe.StringData requires go1.20 or later (-lang was set to go1.18; check go.mod)
../../go/pkg/mod/gvisor.dev/gvisor@v0.0.0-20230204015509-8de5e9e1614b/pkg/gohacks/string_go120_unsafe.go:38:9: unsafe.String requires go1.20 or later (-lang was set to go1.18; check go.mod)
make: *** [Makefile:61: tun2socks] Error 1

Logs

$ make tun2socks
GO111MODULE=on CGO_ENABLED=0 go build -v -ldflags '-w -s -buildid= -X "github.com/xjasonlyu/tun2socks/v2/internal/version.Version=v2.4.1" -X "github.com/xjasonlyu/tun2socks/v2/internal/version.GitCommit=4a8bf64"' -tags '' -trimpath -o build/tun2socks
go: downloading gvisor.dev/gvisor v0.0.0-20230204015509-8de5e9e1614b
internal/unsafeheader
encoding
internal/goarch
internal/coverage/rtcov
internal/cpu
internal/abi
internal/goexperiment
internal/goos
runtime/internal/atomic
runtime/internal/math
runtime/internal/sys
runtime/internal/syscall
internal/bytealg
internal/itoa
math/bits
unicode/utf8
internal/race
sync/atomic
math
unicode
unicode/utf16
internal/nettrace
gvisor.dev/gvisor/pkg/gohacks
# gvisor.dev/gvisor/pkg/gohacks
../../go/pkg/mod/gvisor.dev/gvisor@v0.0.0-20230204015509-8de5e9e1614b/pkg/gohacks/string_go120_unsafe.go:27:7: unsafe.StringData requires go1.20 or later (-lang was set to go1.18; check go.mod)
../../go/pkg/mod/gvisor.dev/gvisor@v0.0.0-20230204015509-8de5e9e1614b/pkg/gohacks/string_go120_unsafe.go:38:9: unsafe.String requires go1.20 or later (-lang was set to go1.18; check go.mod)
gvisor.dev/gvisor/pkg/bits
runtime
crypto/internal/alias
crypto/subtle
crypto/internal/boring/sig
gvisor.dev/gvisor/pkg/tcpip/seqnum
container/list
gvisor.dev/gvisor/pkg/abi/linux/errno
golang.org/x/crypto/internal/alias
gvisor.dev/gvisor/pkg/errors
vendor/golang.org/x/crypto/cryptobyte/asn1
vendor/golang.org/x/crypto/internal/alias
internal/reflectlite
sync
internal/godebug
internal/singleflight
internal/testlog
internal/intern
math/rand
errors
sort
strconv
io
internal/oserror
syscall
internal/safefilepath
path
vendor/golang.org/x/net/dns/dnsmessage
strings
reflect
bytes
net/netip
regexp/syntax
internal/syscall/unix
time
internal/syscall/execenv
bufio
regexp
hash
crypto
crypto/internal/randutil
gvisor.dev/gvisor/pkg/tcpip/hash/jenkins
hash/fnv
container/heap
github.com/xjasonlyu/tun2socks/v2/common/pool
github.com/xjasonlyu/tun2socks/v2/common/observable
crypto/rc4
hash/crc32
internal/poll
crypto/internal/nistec/fiat
io/fs
context
internal/fmtsort
encoding/binary
os
embed
vendor/golang.org/x/text/transform
encoding/base64
gvisor.dev/gvisor/pkg/tcpip/checksum
golang.org/x/sys/unix
crypto/cipher
fmt
net
crypto/internal/boring
crypto/sha256
flag
encoding/json
github.com/docker/go-units
golang.org/x/time/rate
log
math/big
go.uber.org/atomic
github.com/google/btree
crypto/sha1
gvisor.dev/gvisor/pkg/tcpip/link/stopfd
gvisor.dev/gvisor/pkg/errors/linuxerr
github.com/sirupsen/logrus
crypto/md5
crypto/aes
github.com/xjasonlyu/tun2socks/v2/component/dialer
crypto/rand
github.com/xjasonlyu/tun2socks/v2/log
github.com/xjasonlyu/tun2socks/v2/dns
github.com/xjasonlyu/tun2socks/v2/metadata
golang.org/x/crypto/chacha20
golang.org/x/crypto/internal/poly1305
io/ioutil
crypto/hmac
golang.org/x/sys/cpu
golang.org/x/crypto/hkdf
github.com/Dreamacro/go-shadowsocks2/shadowstream
compress/flate
crypto/des
golang.org/x/crypto/chacha20poly1305
crypto/internal/edwards25519/field
crypto/internal/nistec
crypto/internal/bigmod
compress/gzip
crypto/internal/boring/bbig
crypto/sha512
encoding/asn1
github.com/Dreamacro/go-shadowsocks2/shadowaead
crypto/internal/edwards25519
crypto/ecdh
github.com/Dreamacro/go-shadowsocks2/core
crypto/elliptic
crypto/rsa
vendor/golang.org/x/crypto/cryptobyte
crypto/ed25519
crypto/dsa
encoding/hex
encoding/pem
crypto/x509/pkix
net/url
crypto/ecdsa
path/filepath
vendor/golang.org/x/crypto/chacha20
vendor/golang.org/x/crypto/internal/poly1305
vendor/golang.org/x/sys/cpu
vendor/golang.org/x/crypto/hkdf
vendor/golang.org/x/text/unicode/bidi
crypto/x509
vendor/golang.org/x/text/unicode/norm
vendor/golang.org/x/crypto/chacha20poly1305
vendor/golang.org/x/text/secure/bidirule
net/textproto
vendor/golang.org/x/net/http2/hpack
mime
mime/quotedprintable
net/http/internal
net/http/internal/ascii
github.com/xjasonlyu/tun2socks/v2/proxy/proto
github.com/xjasonlyu/tun2socks/v2/transport/socks4
crypto/tls
github.com/xjasonlyu/tun2socks/v2/transport/socks5
vendor/golang.org/x/net/idna
mime/multipart
database/sql/driver
encoding/xml
github.com/google/uuid
github.com/xjasonlyu/tun2socks/v2/tunnel/statistic
vendor/golang.org/x/net/http/httpguts
vendor/golang.org/x/net/http/httpproxy
github.com/ajg/form
runtime/debug
go.uber.org/automaxprocs/internal/cgroups
github.com/xjasonlyu/tun2socks/v2/internal/version
gopkg.in/yaml.v3
os/signal
go.uber.org/automaxprocs/internal/runtime
go.uber.org/automaxprocs/maxprocs
net/http/httptrace
net/http
github.com/xjasonlyu/tun2socks/v2/component/simple-obfs
github.com/go-chi/cors
github.com/go-chi/chi/v5
github.com/go-chi/render
github.com/gorilla/websocket
github.com/xjasonlyu/tun2socks/v2/proxy
make: *** [Makefile:61: tun2socks] Error 1

make tun2socks  24.60s user 3.73s system 159% cpu 17.713 total


### How to Reproduce

git clone
make tun2socks
GektorUA commented 1 year ago

Same issue on my side.

mihaiav commented 1 year ago

Same issue on MacOS.... I wonder why it fails if the modules are correct...

% go build -o tun2socks

package github.com/xjasonlyu/tun2socks/v2
        imports github.com/xjasonlyu/tun2socks/v2/engine
        imports github.com/xjasonlyu/tun2socks/v2/core
        imports github.com/xjasonlyu/tun2socks/v2/core/adapter
        imports gvisor.dev/gvisor/pkg/tcpip/stack
        imports gvisor.dev/gvisor/pkg/atomicbitops
        imports gvisor.dev/gvisor/pkg/state
        imports gvisor.dev/gvisor/pkg/state/wire
        imports gvisor.dev/gvisor/pkg/gohacks: build constraints exclude all Go files in /Users/userx/go/pkg/mod/gvisor.dev/gvisor@v0.0.0-20220405222207-795f4f0139bb/pkg/gohacks
mihaiav commented 1 year ago

It looks like you need to install and build tun2socks with Go 1.18. This is due gvisor dependency.

chromer030 commented 1 year ago

But tun2socks is built with go 1.20 , by checkpointing to this commit

$ ./tun2socks-linux-amd64 --version
tun2socks-2.4.1
linux/amd64, go1.20, 6809e7f
xjasonlyu commented 1 year ago

No worries, I will fix it later.

xjasonlyu commented 1 year ago

I believe this issue has been solved: https://github.com/xjasonlyu/tun2socks/commit/6cfc25309e35d2c9873864a8b04fffa884a8b4e9.

GektorUA commented 1 year ago

Yes, now it's ok.

chromer030 commented 1 year ago

It's OK now , thanks.