Подтвердить что ты не робот

Gcc 4.9.1 в OS X Yosemite - gcc: warning: невозможно понять kern.osversion '14.0.0 '

Я устанавливаю OS X Yosemite, и теперь у меня есть огромная проблема с компилятором gcc 4.9.1. Надеюсь, кто-то может мне помочь.

Я пытаюсь скомпилировать свою программу, и у меня есть предупреждающее сообщение:

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

Я ищу в google, и я нахожу https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407 Я пытаюсь применить исправление:

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

в папке gcc: /usr/local/bin/gcc и я получил сообщение:

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: Я уже пробовал gcc, и я получил сообщение:

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

Я пытаюсь с sudo, и я получил:

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: 

Я в неправильной папке? Кто-нибудь может мне помочь?

4b9b3361

Ответ 1

У меня была аналогичная проблема при создании вещей из исходного кода, и это было потому, что я забыл установить обновленные инструменты командной строки после обновления до Yosemite и xcode 6.1. Попробуйте это в командной строке:

xcode-select --install 

Это будет загружать и устанавливать инструменты командной строки и может решить вашу проблему.

Ответ 2

Если вы устанавливаете MACOSX_DEPLOYMENT_TARGET=10.9 в своей среде перед компиляцией, ссылка на общий объект должна работать должным образом.

Ответ 3

если вы используете Homebrew, просто:

brew upgrade gcc

Ответ 4

Этого было достаточно для меня, и это не требует символической ссылки:

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

После этого просто запустите команду как обычно.

Ответ 5

Это решает мою проблему: я связываю gcc с /Applications//Xcode.app/Contents/Developer/usr/bin/gcc

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

Ответ 6

Патч, который вы пытаетесь использовать, предназначен для исправления исходного кода GCC, и вы пытаетесь использовать его для исправления скомпилированного двоичного файла. Это не сработает.

Теоретически процесс будет

  • Загрузите исходный tarball компилятора GCC
  • применить к нему патч
  • скомпилировать GCC
  • Установить скомпилированный GCC

Однако вы вряд ли сможете это сделать, поскольку вы не можете запустить компилятор, чтобы скомпилировать более новую копию. Catch-22!

Поиск google для 'gcc yosemite' Я нашел несколько ссылок на возможные решения, например. введите ссылку здесь. Боюсь, что я не эксперт по макроэкономике, поэтому я не могу судить о качестве этих решений.

Ответ 7

Я также получаю предупреждение "не могу понять kern.osversion` 14.0.0" на компиляциях GFORTRAN при запуске Yosemite (10.10.1) с Xcode 6.1 и GCC 5.0. Компилятор, однако, генерирует исполняемый исполняемый код и, похоже, работает правильно. Может быть, вы можете просто игнорировать предупреждение?

Ответ 8

Я решил проблему, связав

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

Ответ 9

Кажется, нужна текущая версия инструментов командной строки XCode. Когда я впервые набрал "make" после установки Yosemite, я получил предупреждение и диалоговое окно, в котором говорилось, что у меня нет инструментов командной строки XCode и спросил, хочу ли я их установить. Я сделал это, и все сработало.

Однако один пользователь не получил этот диалог и вместо этого получил сообщение об ошибке, как показано. "Xcode-select -install" не работает, поэтому похоже, что он сохранил устаревшие инструменты командной строки и файлы заголовков.

Решение MACOSX_DEPLOYMENT_TARGET = 10.9 действительно сработало для него. Однако компиляторы выглядели намного медленнее.