2015-01-05 33 views
2

時,當試圖在我的src目錄下運行go build C源文件不允許的,我得到這個錯誤:Golang - 不使用CGO

imports runtime: C source files not allowed when not using cgo: 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

當我第一次開始學習圍棋我在我的Ubuntu的筆記本電腦跑sudo apt-get install golang( 14.04 LTS,64位),它安裝了1.2版本。這運行良好,我能夠構建,安裝和運行應用程序。然後,我運行autoremove來擺脫它,然後在golang網站上安裝了1,4個。

這是怎麼回事,我該如何解決?谷歌搜索錯誤表明它與以前安裝的go版本有關,但我認爲autoremove會清除它和任何依賴項(似乎,因爲我確定在任何地方都找不到golang,所以在安裝之前源。

任何線索?

+1

這可能是一個愚蠢的問題,但是C編譯器是否仍然安裝? –

+0

@JamesHenstridge我想你可能會在這裏做點什麼。 64位版本已安裝,但我可能需要32位,即使我不構建32位二進制文​​件。使用來自https://github.com/golang/go/wiki/InstallFromSource#Install_C_tools的指令來安裝32位C編譯器似乎修復了它。將獲得一個示例應用程序構建後回答 – Grayda

回答

3

我通過在環境中取消設置GOROOT來解決這個問題。它指向另一個Go安裝。

1

升級到1.5後,我遇到了類似的問題。刪除/usr/local/go目錄並從tarball重新安裝解決了問題。

-1

如果您安裝Go 1.4並安裝Go 1.5。但不要更改GOROOT環境變量。 將GOROOT指向GO 1.5路徑。