Go 1.5+ : Error – imports runtime: C-Quelldateien nicht erlaubt, wenn cgo oder SWIG nicht verwendet werden

Lesezeit: 2 Minuten

Benutzer-Avatar
Benutzer3094829

Mein Programm wurde perfekt mit go 1.4.2 erstellt. Nach der Installation von go 1.5 erhalte ich folgenden Fehler.

imports runtime: C-Quelldateien sind nicht erlaubt, wenn cgo oder SWIG nicht verwendet werden: 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

Der Fehler ist nicht programmabhängig. Sogar ein “Hello World”-Programm wirft den gleichen Fehler.

  • Danke vielmals. Das hat auch meine Probleme gelöst. Ich hatte zwei Importe von “imports runtime” und habe alles versucht – ich habe sogar Code entfernt, den ich hinzugefügt habe, weil ich nicht erwartet hatte, dass ein Upgrade von go1.4 auf go1.5 dies verursacht haben könnte.

    – John Galt

    7. Februar 2016 um 14:06 Uhr

  • Könntest du das etwas genauer erklären @deFreitas

    – Mayank Patel

    30. Juli 2016 um 4:48 Uhr

  • @MayankPatel Auch nach dem Ausführen, wie Sie es vorschlagen und installieren golang 1.6.2 Ich bekomme immer noch C source files not allowed when not using cgo or SWIG das Fehlerbeispiel ist hier. meine CGO_ENABLED=”1″ env ist aktiviert und gcc installiert, aber es funktioniert einfach nicht

    – deFreitas

    30. Juli 2016 um 4:59 Uhr

  • Es kann viele Gründe geben, warum dieser Fehler auftritt. Stellen Sie sicher, dass die richtige Version (32/64 Bit) von gcc installiert ist. Versuchen Sie, dem Paket eine neue Datei hinzuzufügen und das C-Paket darin zu importieren. sowas wie Paket p import “C” @deFreitas

    – Mayank Patel

    30. Juli 2016 um 8:24 Uhr

  • @MayankPatel Durch den Code Kommentar des Autors Anscheinend ist dies ein veralteter Codestil für die neuen Golang-Kompilierungen

    – deFreitas

    30. Juli 2016 um 15:13 Uhr

  • Obwohl Ausmisten $GOPATH/pkg kann hilfreich sein (es ist nicht unbedingt erforderlich, da go build und go install sollte nur den Inhalt als veraltet erkennen und die Dinge nach Bedarf neu erstellen), hat es nichts mit dem Problem des OP zu tun, das alt war *.c Quelldateien von Go1.4 belassen $GOROOT/src. Sie sollten niemals eine neue Version von Go über eine vorherige Installation installieren, sondern an einem neuen Ort (dh zuerst die alte Installation verschieben/löschen).

    – David C

    27. August 2015 um 16:11 Uhr


  • Ich kann go1.4.2 nicht verwenden (weil ich die Kodierung/json importieren muss), wie kann ich dieses Problem in go1.5 lösen?

    – Benutzer200778

    1. September 2015 um 8:14 Uhr

  • Das ist mir gerade mit Brew passiert – es wird zwar in verschiedenen Ordnern installiert, aber aus irgendeinem Grund verwendet das Go-Tool die alte Installation, bis ich eine neue Terminalsitzung starte. Das Neuladen des Terminals behebt das Problem.

    – dmikalova

    9. September 2015 um 1:09 Uhr

  • @dmikalova Ja, das meine ich. Ich bearbeite nur meine Antwort dafür. Terminalsitzung (Konsolensitzung) neu laden.

    – Evan Lin

    9. September 2015 um 1:13 Uhr

1258090cookie-checkGo 1.5+ : Error – imports runtime: C-Quelldateien nicht erlaubt, wenn cgo oder SWIG nicht verwendet werden

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy