OS X 10.8 - ошибка при попытке exec '/usr/bin/i686-apple-darwin11-gcc-4.2.1' - установка json gem

Я только что обновил OS X Mountain Lion (уже сожалею об этом).

У вас возникли проблемы с установкой родных расширений json gem.

До 10.8 у меня были установлены средства командной строки. RVM с Ruby 1.9.2.

Обновлен до 10.8 и сделал следующее:

  • sudo chown -R whoami/usr/local
  • brew update
  • brew нажмите homebrew/dupes
  • brew установить apple-gcc42
  • Установленный XCode 4.4
  • Установленные средства командной строки для XCode 4.4
  • экспорт CC =/usr/local/bin/gcc-4.2 в файл bash_profile
  • sudo ln -s/usr/local/bin/gcc-4.2/usr/bin/gcc-4.2
  • edit: sudo xcode-select -switch/Applications/Xcode.app/Contents/Developer

Я все еще получаю следующий вывод при установке json gem:

➽ gem install json -v '1.7.4'
Building native extensions.  This could take a while...
ERROR:  Error installing json:
    ERROR: Failed to build gem native extension.

        /Users/vincent/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb
creating Makefile

make
/usr/bin/gcc-4.2 -I. -I/Users/vincent/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/vincent/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/ruby/backward -I/Users/vincent/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1 -I. -DJSON_GENERATOR -I/Users/vincent/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe -O3 -Wall -O0 -ggdb  -o generator.o -c generator.c
gcc-4.2: error trying to exec '/usr/bin/i686-apple-darwin11-gcc-4.2.1': execvp: No such file or directory
make: *** [generator.o] Error 255


Gem files will remain installed in /Users/vincent/.rvm/gems/[email protected]/gems/json-1.7.4 for inspection.
Results logged to /Users/vincent/.rvm/gems/[email protected]/gems/json-1.7.4/ext/json/ext/generator/gem_make.out

Любая помощь здесь? Как я могу отладить мою сборку env? Не эксперт в этом, но я думаю, что установщик json gem игнорирует мою среду, поскольку он использует версию GCC, которая не существует в моей системе, и установщик brew также не создает ее.

➽ gcc-4.2
i686-apple-darwin11-gcc-4.2.1: no input files

➽ which gcc-4.2
/usr/local/bin/gcc-4.2

➽ ls /usr/bin/i686-apple-darwin11-gcc-4.2.1
ls: /usr/bin/i686-apple-darwin11-gcc-4.2.1: No such file or directory

Я также попробовал symlinking ➽ sudo link /usr/local/bin/gcc-4.2 /usr/bin/i686-apple-darwin11-gcc-4.2.1. Но это дало ошибку тайм-аута vfork.

изменить:

➽ brew doctor
gcc-4.2: error trying to exec '/usr/bin/i686-apple-darwin11-gcc-4.2.1': execvp: No such file or directory
Warning: X11 is not installed.
You don't have X11 installed as part of your OS X installation.
This is not required for all formulae, but is expected by some.
You can download the latest version of XQuartz from:
  https://xquartz.macosforge.org

edit2:

выполнил xcode-select XCode

Edit3:

sudo xcode-select -switch /usr/bin
sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

Это исправлено! В основном вы указываете OS X на компиляцию с помощью /usr/bin, а затем вы связываете компилятор llvm-gcc-4.2 с тем, где раньше был старый. Работает! BAM!

источник: http://jtimberman.housepub.org/blog/2012/02/26/xcode-command-line-tools/

Ответы

Ответ 1

У меня создается впечатление, что все, что вам нужно сделать, это:

sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

Я попытался с помощью xcode-select XCode и инструментов командной строки. Они оба работают. Я также удалил brew apple-gcc42, и он все еще работает. экспорт CC не нужен.

Так что в основном просто ссылка. Надеюсь, что это решает некоторые проблемы, которые люди испытывают.

Ответ 2

Запустили ли вы:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Чтобы система использовала инструменты командной строки, предоставленные Xcode?

Немного больше в этом SO ответе.

Ответ 3

sudo xcode-select -switch /usr/bin
sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

Ответ 4

Даже более простой подход. Я просто исправил проблему с корнем, отредактировав файл rbconfig.rb ~/.rvm/rubies/ruby-1.9.3-p327/lib/ruby ​​/1.9.1/x86_64-darwin12.2.0

по какой-то причине файл настраивается на использование gcc-4.2 для CC вместо плана gcc (который IS llvm-gcc-4.2).