Mon programme se construisait parfaitement avec go 1.4.2. Après l'installation de go 1.5, le message d'erreur suivant s'affiche.
importations runtime: les fichiers source C ne sont pas autorisés lorsque vous n'utilisez ni cgo ni SWIG: 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
L'erreur ne dépend pas du programme. Même un programme "Hello world" génère la même erreur.
Supprimez Old 1.4.x go installation, puis installez go 1.5.
J'ai rencontré le même problème après l'installation de go 1.5. Le problème est que j'ai installé go 1.5 au même endroit que 1.4.2. Go 1.5 n'utilise plus le C et si d'anciens fichiers d'installation du C sont présents, l'erreur est renvoyée à l'écran.
si vous souhaitez que l'ancienne installation soit également présente, installez 1.5 à un autre emplacement et définissez GOROOT sur cet emplacement.
J'espère que ça aide.
Edit 1: Pour les utilisateurs de Linux:
si vous avez téléchargé go1.5 * .tar.gz alors vous avez fait ceci:
tar -C/usr/local/-xvf go1.5.linux-AMD64.tar.gz
Vos anciens fichiers du dossier C ne sont pas supprimés. Le processus correct est le suivant:
Premièrement: vous devriez supprimer votre ancien dossier go.
Sudo rm -rf/usr/local/go /
Deuxièmement: ensuite courir
tar -C/usr/local/-xvf go1.5.x.linux-AMD64.tar.gz
Si vous utilisez brew
pour mettre à niveau votre version de Go to Go 1.5. Voici ma démarche pour le faire fonctionner:
Go env
est placé dans le dossier Go 1.5.BTW: Vous devez faire la même chose si vous voulez basculer de Go 1.5 back Go 1.4.2 via brew switch go 1.4.2
.
J'ai le même problème parce que j'ai installé deux versions de golang sur ma machine, l'une à partir d'un site officiel et l'autre à partir de homebrew.
Et le GOROOT ne correspond pas au binaire go, je viens de remplacer le GOROOT par le bon, puis c'est fait.
export GOROOT=/usr/local/opt/go/libexec # install via brew
J'ai rencontré ce problème dans mon éditeur (sublime text 2). J'appelle construire après sauvegarde, il semblerait que mon éditeur se dirigeait vers 1.4.x plutôt que vers la 1.5 nouvellement installée.