Go:在 powerpc64(big-endian)上不是 运行

Go: Not running on powerpc64 (big-endian)

我已经下载了 PowerPC 64 的 GO 包 (ppc64) machine.When 我 运行 它抛出以下错误:

./go: line 1:ELF▒9@p@8: not found
./go: line 2: syntax error: unexpected ")"

机器信息如下,

uname -a
Linux 0005B9427C4C 3.12.19-rt30 #1 SMP Sun Jul 2 16:21:28 IST 2017 ppc64 GNU/Linux

来自 /proc/cpuinfo: 处理器:0 cpu:e6500,支持 altivec 时钟:1599.999984MHz 修订版:2.0 (pvr 8040 0120)

processor       : 1
cpu             : e6500, altivec supported
clock           : 1599.999984MHz
revision        : 2.0 (pvr 8040 0120)

processor       : 2
cpu             : e6500, altivec supported
clock           : 1599.999984MHz
revision        : 2.0 (pvr 8040 0120)

processor       : 3
cpu             : e6500, altivec supported
clock           : 1599.999984MHz
revision        : 2.0 (pvr 8040 0120)

processor       : 4
cpu             : e6500, altivec supported
clock           : 1599.999984MHz
revision        : 2.0 (pvr 8040 0120)

processor       : 5
cpu             : e6500, altivec supported
clock           : 1599.999984MHz
revision        : 2.0 (pvr 8040 0120)

processor       : 6
cpu             : e6500, altivec supported
clock           : 1599.999984MHz
revision        : 2.0 (pvr 8040 0120)

processor       : 7
cpu             : e6500, altivec supported
clock           : 1599.999984MHz
revision        : 2.0 (pvr 8040 0120)

timebase        : 41666666
platform        : CoreNet Generic
model           : fsl,B4860QDS

我已经从https://golang.org/dl/.

下载了go1.8.3.linux-ppc64le.tar.gz包

我已经搜索了很多但找不到任何解决方案。你能告诉我出了什么问题吗?如何解决?

您的内核报告 ppc64 架构。这意味着它是 big endian 模式下的 64 位 POWER。 Go 项目仅发布 ppc64lelittle endian 模式下的 64 位 POWER)构建:Go stable downloads 仅提供 go1.8.3.linux-ppc64le.tar.gz 下载。

Go 源码包含一个 64 位 POWER big-endian 端口,但你需要自己编译它。 (但这绝对是人迹罕至的地方,所以你可能 运行 会遇到问题。)请注意,即使在大端模式下,Go 1.9 也需要 POWER8,因此取决于你拥有的硬件,即使是自编译版本可能是一个死胡同。 (/proc/cpuinfo 输出中的 e6500 表明此平台 POWER8 兼容。)

另一个选项是 GCC Go 编译器 (gccgo)。这个 Go 编译器将与许多 GCC 目标一起工作,并且在可预见的未来它很可能会在某种程度上得到支持。然而,很少有 Go 程序员关心 gccgo,因此您可能会遇到无法使用它的包。