golang.org/x/sys/unix缺少函数体的问题

时间:2018-01-30 09:01:39

标签: linux docker go continuous-integration bitbucket

到位桶-pipelines.yml:

image: golang:1.9

pipelines:
  default:
    - step:
        script: # Modify the commands below to build your repository.
          - PACKAGE_PATH="${GOPATH}/src/bitbucket.org/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}"
          - mkdir -pv "${PACKAGE_PATH}"
          - tar -cO --exclude-vcs --exclude=bitbucket-pipelines.yml . | tar -xv -C "${PACKAGE_PATH}"
          - cd "${PACKAGE_PATH}"
          - go version
          - uname -a
          - make build_linux
          - go test -v ./...`enter code here`

我尝试在Bitbucket CI上构建Golang应用程序,但在golang.org/x/sys/unix中出错:

make build_linux
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build --tags "json1" -ldflags "-s -X main.version=0.63" -a -installsuffix cgo -o dbcore_linux ./cmd/dbcore/dbcore.go
# bitbucket.org/xxx/dbcore/vendor/golang.org/x/sys/unix
vendor/golang.org/x/sys/unix/syscall_linux.go:20:6: missing function body
vendor/golang.org/x/sys/unix/syscall_linux.go:24:6: missing function body
vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go:13:6: missing function body
vendor/golang.org/x/sys/unix/syscall_unix_gc.go:12:6: missing function body
vendor/golang.org/x/sys/unix/syscall_unix_gc.go:13:6: missing function body
vendor/golang.org/x/sys/unix/syscall_unix_gc.go:14:6: missing function body
vendor/golang.org/x/sys/unix/syscall_unix_gc.go:15:6: missing function body
make: *** [build_linux] Error 2
Makefile:7: recipe for target 'build_linux' failed

Dockerfile: https://github.com/docker-library/golang/blob/2f2f3b620d61f533484f24a568c2ca46e4fda91c/1.9/stretch/Dockerfile

我没有在使用MacOS的本地计算机上发布问题。只有CI。我怎么能解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

Golang dep命令将许多文件复制到我想要跳过的.gitignore规则的供应商文件夹中,因此也跳过了供应商/ golang.org / x / sys / <的 .s文件/ em> dep。

我从.gitignore中排除* .s文件后问题消失。