gpt4 book ai didi

docker - 在 Alpine Docker 容器 : "loadinternal: cannot find runtime/cgo" 中从源代码编译 Go 时出错

转载 作者:IT王子 更新时间:2023-10-29 01:56:33 25 4
gpt4 key购买 nike

我正在尝试为支持 FIPS 的 Go 版本构建一个 Alpine Docker 镜像。为此,我尝试使用 golang/go 存储库的 dev.boringcrypto 分支从源代码构建 Go。

运行 ./all.bash 时,出现以下错误:

Step 4/4 : RUN cd go/src && ./all.bash
---> Running in 00db552598f7
Building Go cmd/dist using /usr/lib/go.
# _/go/src/cmd/dist
loadinternal: cannot find runtime/cgo
/usr/lib/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/../../../../x86_64-
alpine-linux-musl/bin/ld: cannot find Scrt1.o: No such file or directory
/usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/../../../../x86_64-
alpine-linux-musl/bin/ld: cannot find crti.o: No such file or directory
/usr/lib/gcc/x86_64-alpine-linux-musl/6.4.0/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lssp_nonshared
collect2: error: ld returned 1 exit status

The command '/bin/bash -c cd go/src && ./all.bash' returned a non-zero code: 2

这会导致安装测试失败并将我踢出 Docker 镜像构建。

我在图像上安装了 gcc,并尝试按照其他问题中的建议设置环境变量 CGO_ENABLED=0,但是这些似乎都没有缓解问题。

我对这个问题束手无策。过去有没有其他人遇到过类似的问题?我不明白为什么会这样,因为构建在 Ubuntu 容器中运行良好。

谢谢!

最佳答案

虽然我正在编译一个不同的项目,但我有相同的错误消息。

事实证明,alpine 需要安装 musl-dev 包才能工作,所以我认为你需要确保它包含在你的 Dockerfile 中,或者通过运行手动安装它apk 添加 --no-cache musl-dev

关于docker - 在 Alpine Docker 容器 : "loadinternal: cannot find runtime/cgo" 中从源代码编译 Go 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53964313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com