티스토리 뷰
Programming/Go
[Go] Go build error on Mac: //go_linkname must refer to declared function or variable, too many errors
쩨리쩨리 2022. 7. 8. 09:31반응형
go 빌드 에러가 발생했다.
$ go run main.go
# golang.org/x/sys/unix
vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go:29:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go:27:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go:40:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:28:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:43:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:59:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:75:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:90:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:105:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:121:3: //go:linkname must refer to declared function or variable
vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:121:3: too many errors
오래된 버전의 패키지나 종속성을 사용하고 있어서 발생하는 흔한 에러다
위 에러는 golang.org/x/sys/unix 라는 종속성을 받아올때 해당 패키지를 go의 경로에서 찾아오지 못해서 발생하는 에러다
패키지를 다시 설치 및 업데이트 해주면 에러가 발생하지 않는다
해결법
아래 get 명령어로 패키지를 업데이트 해주자
go get -u golang.org/x/sys/unix
본인은 golang.org/x/sys/unix의 종속성을 업그레이드 해야한다고 해서 위와 같이 적었지만
여러분들은 다른 종속성 및 패키지를 못받아오는 경우일 수 있다
go get [-t][-u][-v][-d] [build flages][packages]
-t : 패키지 테스트를 빌드하는데 필요한 추가 패키지를 포함하여 다운로드
-u : 패키지 및 종속성 업데이트
-v : 실행 및 디버그 출력
-d : 설치는 하지않고 소스 파일만 다운로드
위와 같은 형태로 입력해서 에러를 해결하길 바란다
go get 의 자세한 설명은 [go help get] 명령어를 입력해서 확인하길 바란다
반응형
댓글
공지사항