GOLANG Fix Tip- go:linkname must refer to declared function or variable

jelly
2 min readMay 6, 2022

mac 에서 go version 을 1.18 로 변경하고 go run main.go 를 실행하면 아래와 같이 “go:linkname must refer to declared function or variable” 에러 메세지가 주르륵 나오는 경우가 있다. 이런 경우는 아래의 명령어로 아주 쉽게 처리 할수 있다. :) 까먹을까바 정리하는..

PROBLEM
- go:linkname must refer to declared function or variable

GOROOT=/usr/local/Cellar/go/1.18.1/libexec #gosetup
GOPATH=/Users/jin/go #gosetup
/usr/local/Cellar/go/1.18.1/libexec/bin/go build -o /private/var/folders/1l/r4qg9mms5fg1b2xg2qpt36tr0000gn/T/GoLand/___go_build_main_go /Users/jin/Dev/jin/klang-go/main.go #gosetup
# golang.org/x/sys/unix
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/syscall_darwin.1_13.go:25:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.1_13.go:27:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.1_13.go:40:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:28:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:43:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:59:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:75:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:90:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:105:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:121:3: //go:linkname must refer to declared function or variable
../../../go/pkg/mod/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42/unix/zsyscall_darwin_amd64.go:121:3: too many errors
Compilation finished with exit code 2

SOLUTION
$ go get -u golang.org/x/sys
$ go mod vendor

$ go get -u golang.org/x/sys
$ go mod vendor

그럼 즐거운 개발세발~~:)

--

--