2014-10-21 6 views
27

Ich installiere OS X Yosemite und jetzt habe ich ein großes Problem mit gcc 4.9.1 Compiler. Ich hoffe, jemand kann mir bitte helfen.gcc 4.9.1 in OS X Yosemite - gcc: Warnung: konnte nicht verstehen kern.osversion '14 .0.0 '

ich versuche, mein Programm zu kompilieren, und ich habe die Warnmeldung:

gcc: warning: couldn’t understand kern.osversion ‘14.0.0' 

ich auf Google-Suche, und ich finde https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407 Ich versuche das Patch Tun anwenden:

sudo patch -p1 < /usr/local/bin/00-darwin-10.10.patch 

in gcc Ordner: /usr/local/bin/gcc und ich erhielt die Nachricht:

can't find file to patch at input line 5 
Perhaps you used the wrong -p or --strip option? 
The text leading up to this was: 
-------------------------- 
|diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x 
|index dd45802..0db14d7 100644 
|--- a/fixincludes/fixincl.x 
|+++ b/fixincludes/fixincl.x 
-------------------------- 
File to patch: 

in File to patch: Ich habe bereits versucht gcc und ich erhielt die Nachricht:

patching file gcc 
Hunk #1 FAILED at 1. 
Hunk #2 FAILED at 15. 
Hunk #3 succeeded at 1274 with fuzz 2 (offset -7908 lines). 
Hunk #4 FAILED at 1319. 
Hunk #5 FAILED at 1548. 
Hunk #6 FAILED at 2671. 
patch: **** Can't rename file gcc to gcc.orig : Permission denied 

Ich versuche, mit sudo und ich erhielt:

can't find file to patch at input line 5 
Perhaps you used the wrong -p or --strip option? 
The text leading up to this was: 
-------------------------- 
|diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x 
|index dd45802..0db14d7 100644 
|--- a/fixincludes/fixincl.x 
|+++ b/fixincludes/fixincl.x 
-------------------------- 
File to patch: 

ich bin im falschen Ordner? Kann mir jemand helfen?

+0

Vielleicht möchten Sie gcc4.9.1 von Macports versuchen, ich benutze es und es funktioniert (Ich habe auch einen Fehler gefunden, aber wurde am selben Tag behoben ich habe es gemeldet, https: //trac.macports .org/ticket/45483). Stellen Sie also vor der Installation sicher, dass Sie Ihre Macports aktualisieren/aktualisieren. – vsoftco

+0

JFTR, ich habe auch die Nachricht über unverständliche 'kern.osversion '14.0.0' (mit asymmetrischem Zitat) von einem selbstgebauten GCC 4.8.1 (auf Mavericks oder vielleicht sogar Mountain Lion gebaut), als es auf Yosemite lief sowie GCC 4.9.1. Es ist "nur eine Warnung" - der Compiler lief und produzierte eine ausführbare Datei, die OK lief. Mein ['valgrind'] (http://valgrind.org/) wird mindestens benötigt - es stirbt mit' Killed: 9'. –

Antwort

3

Der Patch, den Sie verwenden möchten, dient zum Patchen des Quellcodes von GCC, und Sie versuchen, ihn zu verwenden, um die kompilierte Binärdatei zu patchen. Das wird nicht funktionieren.

Theoretisch würde der Prozess

  • herunterladen Quellkodearchivs von GCC-Compiler sein
  • den Patch anwenden, um es
  • kompilieren GCC
  • Installieren Sie die kompilierte GCC

jedoch Es ist unwahrscheinlich, dass dies möglich ist, da Sie den Compiler nicht ausführen können, um eine neuere Kopie von sich selbst zu kompilieren. Fangen-22!

Suche google nach 'gcc yosemite' Ich fand eine Reihe von Referenzen zu möglichen Lösungen, z. enter link description here. Ich fürchte, ich bin kein Mac-Experte, daher kann ich die Qualität dieser Lösungen nicht beurteilen.

30

Ich hatte ein ähnliches Problem beim Erstellen von Dingen aus der Quelle, und es war, weil ich vergessen habe, die aktualisierten Befehlszeilenprogramme nach dem Upgrade auf Yosemite und xcode 6.1 zu installieren. Probieren Sie dies in Ihrer Befehlszeile aus:

Das wird herunterladen und installieren Sie die Befehlszeilenprogramme und kann Ihr Problem beheben.

+0

Danke dafür. Es behob mein Problem und ich hatte versucht, es für einige Zeit zu beheben. Für mich war das Problem, dass ich den pg ruby ​​gem nicht installieren konnte. – Fralcon

+2

DIESE. Dies hat mein Problem endgültig behoben. –

+0

Danke, hatte gerade das gleiche Problem mit Xcode 6.3 –

2

Ich bekomme auch die Warnung "konnte nicht kern.osversion` 14.0.0 '"auf GFORTRAN Compilations während der Ausführung von Yosemite (10.10.1) mit Xcode 6.1 und GCC 5.0. Der Compiler erzeugt jedoch funktionierenden ausführbaren Code und scheint korrekt zu laufen. Vielleicht kannst du die Warnung einfach ignorieren?

+0

Das Problem hinter diesem Problem ist nicht gerade trivial ... es verursacht Probleme bei der Installation von MPICH2 und anderer Software, die ansonsten auf Yosemite funktionieren würde – William

20

Wenn Sie vor dem Kompilieren MACOSX_DEPLOYMENT_TARGET=10.9 in Ihrer Umgebung festlegen, sollte die gemeinsame Objektverknüpfung ordnungsgemäß funktionieren.

+2

Das funktionierte für mich! Danke –

+1

Sogar auf Yosemite? (10.10) – ericpeters0n

+1

Anscheinend! Arbeitete hier :) – ericpeters0n

6

wenn Sie mit Homebrew einfach wie folgt:

brew upgrade gcc 
+0

Auf meinem System hat das nicht funktioniert, aber 'brew upgrade gcc49' hat die Aufgabe erledigt – carlito

4

Das ist mein Problem lösen: Ich verbinde gcc mit /Applications//Xcode.app/Contents/Developer/usr/bin/gcc

cd /usr/local/bin 
ln -s /Applications//Xcode.app/Contents/Developer/usr/bin/gcc gcc 
+0

Gleiches Problem, versuchte dies, aber kein Glück. – elplatt

+0

Arbeitete für mich am 10.10 mit Ruby 2.1.5 und Xcode 6.3. Ich habe 2 Tage damit verbracht, SO zu kriechen und zu versuchen, die Lösung zu finden, das war die für mich. – IanBussieres

0

ich ein Problem gelöst, indem

Verknüpfung
export CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 
export CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 
6

Das war genug für mich, und es erfordert keine Symlink:

export CC=/Applications/Xcode.app/Contents/Developer/usr/bin/gcc 

Führen Sie danach den Befehl wie gewohnt aus.

+0

Versuchte die verschiedenen anderen Lösungen und das ist das einzige, das für mich arbeitete. Xcode-select Version 2343: El Capitan Version 10.11.6 – David

+0

Es sollte beachtet werden, dass '/ Applications/Xcode.app/Contents/Developer/usr/bin/gcc' überhaupt kein GCC ist; es ist nur ein Convenience-Synonym für LLVM/Clang. Wenn das OP tatsächlich 'gcc' (oder' gfortran' oder was auch immer) benötigt, dann würde dies nicht helfen. Aber es hilft sicherlich, wenn es Ihnen nichts ausmacht, das System LLVM/Clang zu verwenden. (Aber in diesem Fall, warum sollten Sie GNU GCC von Homebrew installieren?) – Quuxplusone

0

Es scheint eine aktuelle Version von XCode Kommandozeilen-Tools zu wollen. Als ich nach der Installation von Yosemite zum ersten Mal "make" eintippte, erhielt ich eine Warnung und ein Dialogfeld, in dem stand, dass ich keine XCode-Befehlszeilentools habe und fragte, ob ich sie installieren wolle. Ich habe es getan, und alles hat funktioniert.

Allerdings hat ein Benutzer diesen Dialog nicht erhalten und stattdessen die Fehlermeldung erhalten. Die "xcode-select --install" funktionierte nicht, daher scheint es, dass die veralteten Kommandozeilen-Tools und Header-Dateien beibehalten wurden.

Die Lösung MACOSX_DEPLOYMENT_TARGET = 10.9 hat für ihn funktioniert. Die Compiles schienen jedoch viel langsamer zu sein.

Verwandte Themen