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:
Я в неправильной папке?
Кто-нибудь может мне помочь?
Ответы
Ответ 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 действительно сработало для него. Однако компиляторы выглядели намного медленнее.