web-dev-qa-db-fra.com

gcc 4.9.1 sous OS X Yosemite - gcc: attention: impossible de comprendre kern.osversion '14.0.0.0 '

J'installe OS X Yosemite et j'ai maintenant un gros problème avec le compilateur gcc 4.9.1 . J'espère que quelqu'un pourra m'aider s'il vous plaît.

J'essaie de compiler mon programme et j'ai le message d'avertissement: 

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

Je recherche sur google et je trouve https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407 J'essaie d'appliquer le correctif comme suit:

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

dans le dossier gcc: /usr/local/bin/gcc et j’ai reçu le message:

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:

dans File to patch: j'ai déjà essayé gcc et j'ai reçu le message:

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

J'ai essayé avec Sudo et j'ai reçu:

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: 

Je suis dans le mauvais dossier? Quelqu'un peut-il m'aider?

28
MMax

J'avais un problème similaire lors de la création d'éléments à partir des sources, car j'avais oublié d'installer les outils de ligne de commande mis à jour après la mise à niveau vers Yosemite et xcode 6.1. Essayez ceci dans votre ligne de commande:

xcode-select --install 

Cela téléchargera et installera les outils de ligne de commande et pourra résoudre votre problème.

31
jfraser

Si vous définissez MACOSX_DEPLOYMENT_TARGET=10.9 dans votre environnement avant la compilation, la liaison d'objet partagé devrait fonctionner correctement.

20
Maysam

si vous utilisez Homebrew, simplement:

brew upgrade gcc
7
TomDunning

Cela me suffisait, et il n'exigeait aucun lien symbolique:

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

Après cela, lancez la commande comme d'habitude.

6
Alfredo Di Napoli

Ceci résout mon problème: je lie gcc avec /Applications//Xcode.app/Contents/Developer/usr/bin/gcc

cd /usr/local/bin
ln -s /Applications//Xcode.app/Contents/Developer/usr/bin/gcc gcc
4
William Wong Garay

Le correctif que vous essayez d'utiliser sert à corriger le code source de GCC et vous essayez de l'utiliser pour corriger le binaire compilé. Ça ne marchera pas.

En théorie, le processus serait

  • Télécharger l'archive source du compilateur GCC
  • appliquer le patch
  • compiler GCC
  • Installer le GCC compilé

Cependant, il est peu probable que vous puissiez le faire car vous ne pouvez pas exécuter le compilateur afin de compiler une copie plus récente de lui-même. Catch-22!

En recherchant 'gcc yosemite' sur google, j'ai trouvé un certain nombre de références à des solutions possibles, par exemple. entrez la description du lien ici . J'ai bien peur de ne pas être un expert mac, je ne peux donc pas juger de la qualité de ces solutions.

3
harmic

Je reçois également l'avertissement "ne peut pas comprendre kern.osversion` 14.0.0 '"sur les compilations GFORTRAN lors de l'exécution de Yosemite (10.10.1) avec Xcode 6.1 et GCC 5.0. Cependant, le compilateur génère un code exécutable fonctionnel et semble fonctionner correctement. Peut-être que vous pouvez simplement ignorer l'avertissement?

2
Tim Cohn

J'avais ce problème, installé des outils cli Xcode (xcode-select --install) et j'avais toujours des problèmes. Je suis passé de Yosemite à Mojave et la désinstallation d'une ancienne version du compilateur a fonctionné pour moi:

brew uninstall Apple-gcc42

J'espère que cela aide quelqu'un!

0
JPowell

Il semble vouloir une version actuelle des outils de ligne de commande XCode. Lorsque j'ai tapé "make" pour la première fois après l'installation de Yosemite, un avertissement et une boîte de dialogue vous informaient que je ne disposais pas d'outils de ligne de commande XCode et demandaient si je voulais les installer. Je l'ai fait et tout a fonctionné.

Cependant, un utilisateur n'a pas eu cette boîte de dialogue et a reçu le message d'erreur comme indiqué. "Xcode-select --install" ne fonctionnait pas, il semble donc avoir conservé les outils de ligne de commande et les fichiers d'en-tête obsolètes.

La solution MACOSX_DEPLOYMENT_TARGET = 10.9 a fonctionné pour lui. Cependant, les compilations semblaient beaucoup plus lentes.

0
darinbob

J'ai résolu un problème en liant

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
0