golang.org/x/sys/unix缺少功能主体的问题

bitbucket-pipelines.yml:</ p>

  image:golang:  1.9 

管道:
默认值:
-步骤:
脚本:#修改以下命令以构建存储库。
-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}”
-转到版本
-uname -a
-生成build_linux
-进行测试-v。/ ...在这里输入代码
</ code> </ pre>

我尝试在Bitbucket CI上构建Golang应用,但golang.org/x/sys/unix出现了错误:</ p> \ n

  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:缺少函数主体
vendor / golang.org / x / sys / unix / syscall_linux.go:24:6:缺少函数主体
vendor / golang.org / x / sys / unix / syscall_linux_amd64_gc.go:13:6: 缺少功能正文
vendor / golang.org / x / sys / unix / syscall_unix_gc.go:12:6:缺少功能正文
vendor / golang.org / x / sys / unix / syscall_unix_gc.go:13:6:缺少功能 body
vendor / golang.org / x / sys / unix / syscall_unix_gc.go:14:6:缺少乐趣 正文
vendor / golang.org / x / sys / unix / syscall_unix_gc.go:15:6:缺少函数正文
make:*** [build_linux]错误2
Makefile:7:目标“ build_linux”的配方失败\ n </ code> </ pre>

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

我还没有发布 使用MacOS的本地计算机。 只有CI。 我该如何解决该问题?</ p>

谢谢!</ p>
</ div>

展开原文

原文

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`

I try to build Golang app on Bitbucket CI but got the error with 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

I haven't issue on the local machine with MacOS. Only CI. How could I resolve that issue?

Thanks!

dszm02606009
dszm02606009 谢谢!我检查了存储库,发现*.s在.gitignore中被忽略了,这就是为什么我出错了。现在一切正常。
2 年多之前 回复
douji1877
douji1877 您是否检查了供应商的软件包以查看汇编文件是否存在?
2 年多之前 回复
douke6027
douke6027 好吧,没有任何帮助
2 年多之前 回复
douxiajiao8445
douxiajiao8445 您需要手动获取存储库。运行goget-ugolang.org/x/sys或从https://github.com/golang/sys隆存储库,然后将其手动复制到供应商目录bitbucket.org/xxx/dbcore/vendor/golang.org/x/SYS/
2 年多之前 回复
doujie7497
doujie7497 似乎由于某种原因,您的安装不想编译syscall软件包中的汇编程序文件。所有“缺少功能体”均指在汇编器中实现的功能
2 年多之前 回复
douwen2158
douwen2158 这取决于。如果它通过解压缩tarball进行安装,则它可能在中间失败了,这不是第一次。您是否实际检查过安装?如果您进入机器并尝试构建某些东西,会发生什么?如果您抓住一个新鲜的tarball并尝试使用它,会发生什么?
2 年多之前 回复
doupai5450
doupai5450 CI在Golang1.9中使用默认的docker映像,那里可能出了什么问题?
2 年多之前 回复
duangewu5234
duangewu5234 看起来像Go的安装错误。您应该检查安装步骤是否成功。也许尝试全新安装。
2 年多之前 回复

1个回答



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

从.gitignore中排除* .s文件后,问题消失了 </ p>
</ div>

展开原文

原文

Golang dep command copy many files to the vendor folder which I wanted to skip with .gitignore rules, so .s files had been also skipped for vendor/golang.org/x/sys/ dep.

Issue disappear after I exclude *.s files from .gitignore.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐