Вопрос по rubygems, macos, gcc – OS X 10.8 - ошибка при попытке выполнить exus '/usr/bin/i686-apple-darwin11-gcc-4.2.1' - установка json gem

14

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

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

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

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

sudo chown -R whoami /usr/local brew update brew tap homebrew/dupes brew install apple-gcc42 Installed XCode 4.4 Installed Command Line Tools for XCode 4.4 export CC=/usr/local/bin/gcc-4.2 in 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

Любая помощь здесь? Как я могу отладить мою среду сборки? Не эксперт, когда дело доходит до этого, но я думаю, что установщик 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

Я также пробовал символическую ссылку➽ 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/

Ваш Ответ

4   ответа
0

отредактировав файл rbconfig.rb ~ / .rvm / rubies / ruby-1.9.3-p327 / lib / ruby / 1.9.1 / x86_64-darwin12.2.0

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

29

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 /usr/bin
sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2
2

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

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

Немного больше в этомТак ответь.

OMGWTFBBQ !!!! Я нашел это! Я обновлю. Ваш ответ подтолкнул меня в правильном направлении, хотя. SpoBo
Извиняюсь. Я действительно управлял этим. Не было в моем списке вещей, которые я сделал. Просто чтобы быть в безопасности, я сделал это снова и все еще без игры в кости. Но это ожидается, поскольку XCode больше не включает gcc-4.2. Только LLVM. Я обновлю свой вопрос. SpoBo

Похожие вопросы