Golang在Pi 5 Bookworn上编译失败但在Pi 4 Bullseye上成功的原因分析
Golang在Pi 5 Bookworn上编译失败但在Pi 4 Bullseye上成功的原因分析 在树莓派5,64位Bookworm系统(最新更新)上,Go版本为1.25.1。 从GitHub构建Go项目:acd/infinitive 使用的Go下载包:go1.21.5.linux-armv6l.tar.gz(全新安装)
执行构建后,结果如下:
pi@raspberrypi5:~/go/src/newinfinitive $ go build
[为简洁起见,此处省略若干行]
runtime/cgo
gcc: error: unrecognized command-line option ‘-marm’
pi@raspberrypi5:~/go/src/newinfinitive $
注意:GCC版本是 gcc (Debian 12.2.0-14) 12.2.0
相同的源代码和相同的Go 1.25.1版本在树莓派4 Bullseye系统上构建成功。 Bullseye系统安装的是较旧版本的gcc:gcc (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110
尝试寻找其他ARM6L版本,例如64位选项,但未找到。
对于此问题有什么变通方法的建议吗? 进行了多次谷歌搜索,没有找到针对此平台依赖问题的具体解决方案。
谢谢。
更多关于Golang在Pi 5 Bookworn上编译失败但在Pi 4 Bullseye上成功的原因分析的实战教程也可以访问 https://www.itying.com/category-94-b0.html
问题已解决。 在 Pi 5 Bookworm 上安装 Go 需要使用 go1.21.5.linux-arm64.tar.gz,而不是 Pi 4 等设备上使用的 arm6l 版本。 这与 GCC 无关。 此处无需多言,继续前进。
更多关于Golang在Pi 5 Bookworn上编译失败但在Pi 4 Bullseye上成功的原因分析的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


