Linux 不使用cgo时不允许Golang-C源文件

Linux 不使用cgo时不允许Golang-C源文件,linux,ubuntu,go,cgo,Linux,Ubuntu,Go,Cgo,当尝试在我的src目录中运行go build时,出现以下错误: 不使用cgo时不允许导入运行时:C源文件:atomic_amd64x.C defs.C float.C heapdump.C lfstack.C malloc.C mcache.C mcentral.C mem_linux.C mfixalloc.C mgc0.C mheap.C msize.C os_linux.C panic.C parfor.C proc runtime.C sign.C signal_amd64x.C sig

当尝试在我的src目录中运行
go build
时,出现以下错误:

不使用cgo时不允许导入运行时:C源文件:atomic_amd64x.C defs.C float.C heapdump.C lfstack.C malloc.C mcache.C mcentral.C mem_linux.C mfixalloc.C mgc0.C mheap.C msize.C os_linux.C panic.C parfor.C proc runtime.C sign.C signal_amd64x.C signal(unix.C stack.C string.C string.C sys x86.C vdso_linux(amu am4.C

当我第一次开始学习Go时,我在安装了1.2版的Ubuntu笔记本电脑(14.04 LTS,64位)上运行了
sudo-apt-get-install-golang
。运行良好,我能够构建、安装和运行应用程序。然后我运行autoremove来摆脱它,然后从golang网站安装了1,4

这里发生了什么事,我该怎么解决?谷歌搜索错误显示它与之前安装的go版本有关,但我认为autoremove会清除它和任何依赖项(看起来是这样的,因为在从源代码安装之前,我确保在任何地方都找不到golang)


有什么线索吗?

所以James的思路是正确的。我安装了gcc,但没有安装32位版本。按照关于如何安装32位版本的建议解决了这个问题。

我通过在环境中取消设置
GOROOT
来解决这个问题。它指向另一个Go安装。

升级到Go 1后,我遇到了类似的问题。5.删除
/usr/local/go
目录并从tarball重新安装修复了问题。

如果先安装go 1.4,然后再安装go 1.5。但不要更改GOROOT环境变量。
将GOROOT point更改为1.5路径。

这可能是一个愚蠢的问题,但C编译器是否仍在安装?@JamesHenstridge我想您可能了解到了一些情况。安装了64位版本,但我可能需要32位,尽管我没有构建32位二进制文件。使用h的指令安装32位C编译器似乎是错误的ave已修复。将在获得要构建的示例应用程序后进行响应