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

时间:2015-01-05 02:57:30

标签: 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.c runtime.c signal.c signal_amd64x.c signal_unix.c stack.c string.c sys_x86.c vdso_linux_amd64.c

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

这里发生了什么,我该如何解决?谷歌搜索错误表明它与以前安装的go版本有关,但我认为autoremove会清理它和任何依赖关系(它似乎,因为我确保我无法在任何地方找到golang,之前从源头安装。

任何线索?

4 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

所以詹姆斯走在了正确的轨道上。我安装了gcc,但不是32位版本。根据{{​​3}}关于如何安装32位版本的建议解决了这个问题。

答案 2 :(得分:1)

升级到1.5之后我遇到了类似的问题。删除{{1}}目录并从tarball重新安装修复了问题。

答案 3 :(得分:0)

如果安装Go 1.4然后安装Go 1.5。但是不要改变GOROOT环境变量。 将GOROOT点改为GO 1.5路径。