2013-10-25 3 views
17

Я только что обновился до osx mavericks, и я хочу установить ruby ​​2.0, но я получаю configure: error: cannot run C compiled programs. ошибок.Установите любую версию ruby ​​с RVM на mavericks

Обновляю rvm с помощью rvm get stable, а затем введите rvm install 2.0.0 и получите сообщение об ошибке, направляющем меня в файл журнала. Файл журнала содержит:

configure: WARNING: unrecognized options: --without-tcl, --without-tk 
checking build system type... x86_64-apple-darwin13.0.0 
checking host system type... x86_64-apple-darwin13.0.0 
checking target system type... x86_64-apple-darwin13.0.0 
checking whether the C compiler works... yes 
checking for C compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... configure: error: in `/Users/mattroberts/.rvm/src/ruby-2.0.0-p247': 
configure: error: cannot run C compiled programs. 
If you meant to cross compile, use `--host'. 
See `config.log' for more details 

Итак, я попытался привести версии, которые у меня есть. Он говорит мне, что у меня есть 1.9.3-p392, поэтому я удалю его и переустановить, чтобы убедиться, что это работает - такая же ошибка.

Нужно ли переустанавливать/обновлять xcode или есть другое решение?

Спасибо!

+0

вы попробуете это: http://stackoverflow.com/questions/8813889/rvm-ruby-installation-errors-mac/10593275#10593275 – knoight

ответ

52

Если вы не обновляли Xcode после обновления до Mavericks вы должны сделать это После этого, открыть введите команду командной строки и введите:
xcode-select --install

Это установит инструменты командной строки xcode, которые были удалены с помощью обновления ОС. После этого он должен работать нормально.

+2

Yay, обновление xcode сделало трюк для меня - я didn «Мне нужно« xcode-select -install », хотя –

+2

Как ни странно, я был на XCode 5, и мне все еще нужно было перейти на 5.0.2 и все равно пришлось выполнить указанную выше команду. – Hengjie

+2

Это произошло с ошибкой «недоступно» для меня. В случае, если это произойдет с кем-либо еще: http://apple.stackexchange.com/questions/110463/xcode-select-install-not-available-on-update-server – BenB

8

это должно быть исправлено, запустите:

rvm get head 
rvm remove 1.9.3 
rvm install 1.9.3 

не использовать дополнительные флаги

+1

Я получаю следующее сообщение в моем configure.log: [ 2013-10-31 11:59:14] ./configure ... проверяет, работает ли компилятор C ... нет configure: error: в '/Users/Ann/.rvm/src/ruby-1.9. 3-p448 ': configure: ошибка: компилятор C не может создавать исполняемые файлы Подробнее см. 'Config.log'. –

+0

что находится в' /Users/Ann/.rvm/src/ruby-1.9.3-p448/config. log' – mpapis

+0

Я получаю ту же ошибку. Вот config.log: https://gist.github.com/jaimeohm/7377415 – jaime

28

Предлагаемые решения не помогли решить мою проблему (XCode в новейшей версии, инструменты командной строки). Я использовал rvm install ruby-1.9.3 --with-gcc=clang, и это сработало.

Я думал, что rvm используется для использования clang для OSX по умолчанию. Не уверен, помню ли я что-то или что-то изменилось/это уже не самое лучшее. Тем не менее, он сделал установку для меня.

После комментария EDU, тем github rvm issues page он ссылается предупреждает:

@marksands please be sure you know what you are duing, ruby 1.9.3 compiled with clang is not "safe", it can segfault, thread related issues to be expected, consider reinstalling ruby --with-gcc=gcc42 or just let rvm install gcc 4.6, only ruby 2.0.0 is fully compatible with clang

This issue указывает проблему с gcc46 на Mavericks:

The gem in question uses different language - not C/C++, it uses Objective-C - so it's not the compiler fault, you can build gcc-4.6 with support for Objective-C - it's just not done by default.

You have two options now, both start with uninstallig gcc-4.6 and then:

• Install apple-gcc42

• Install gcc-4.6 with --enable-objc

+0

также работал над Mavericks: rvm install ruby-1.8.7-p302 --with-gcc = clang – kitschmaster

+1

Установка с помощью clang это небезопасно. https://github.com/wayneeseguin/rvm/issues/2133 – Edu

+0

исправленный ответ, Спасибо за то, что сообщили мне! – mmlac

0

Ран в тот же самый вопрос (на 10.8.5, все своевременно). Ruby 2.0.0 установлен отлично, но не 1.9.3. Это решение сработало для меня.

кд в пути рубинового (найденный в config.log), то вопрос .configure (со всеми опциями, как найти в config.log)

make 
make install 

Тогда:

rvm use 1.9.3 --create 
3

Что в итоге я работал над установкой XCode , затем RUNNING Xcode, затем попытался переустановить.

+0

+1 Так сумасшедший, что он может просто работать ... и все! Огромное спасибо! – kobaltz

+0

Когда вы обновляете Xcode, он хочет, чтобы вы приняли условия лицензии, и из меню prefs вы должны установить инструменты dev, так или иначе. – danieldekay

1

Запуск

rvm_configure_env=('LDFLAGS=-L/opt/sm/pkg/active/lib' 'CFLAGS=-I/opt/sm/pkg/active/include' 'CPATH=/opt/sm/pkg/active/include') 

Исправленная мой вопрос компилятора в Mavericks

0

Решение:

unset SDKROOT

Это работает для меня. Надеюсь, это будет и для вас.

Я попытался переустановить xcode вместе с инструментами разработки xcode. Не работает. Та же ошибка.

Попробуйте выполнить с env -i bash —noprofile —norc, чтобы узнать, не вызвали ли ваши проблемы с env vars проблему.

Смежные вопросы