Установите любую версию рубина с RVM на mavericks
Я только что обновился до osx mavericks, и я хочу установить ruby 2.0, но я получаю ошибки configure: error: cannot run C compiled programs.
.
Я обновляю 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 или есть другое решение?
Спасибо!
Ответы
Ответ 1
Если вы не обновили Xcode после обновления до Mavericks, вы должны сделать это
После этого откройте командную строку и введите:
xcode-select --install
Это установит инструменты командной строки xcode, которые были удалены при обновлении OSX.
После этого он должен работать нормально.
Ответ 2
Предлагаемые решения не помогли решить мою проблему (XCode на новейшей версии, установленные инструменты командной строки). Я использовал rvm install ruby-1.9.3 --with-gcc=clang
, и это сработало.
Я думал, что rvm используется для использования clang для OSX по умолчанию. Не уверен, помню ли я что-то или что-то изменилось/это уже не самое лучшее. Тем не менее это сделало работу по установке для меня.
После комментария Edu, github rvm выдает страницу, на которую он ссылается, предупреждает:
@marksands, пожалуйста, убедитесь, что знаете, что вы делаете, ruby 1.9.3 скомпилированный с clang не является "безопасным", он может segfault, связанный с потоком которые следует ожидать, подумайте о переустановке ruby --with-gcc = gcc42 или просто установите rvm install gcc 4.6, только ruby 2.0.0 полностью совместим с лязг
Эта проблема указывает на проблему с gcc46 на Mavericks:
В рассматриваемом камне используется другой язык - не C/С++, он использует Objective-C - так что это не ошибка компилятора, вы можете построить gcc-4.6 с поддержкой Objective-C - он просто не выполнен по умолчанию.
Теперь у вас есть два варианта: начать с uninstallig gcc-4.6 и то:
• Установите apple-gcc42
• Установите gcc-4.6 с параметром --enable-objc
Ответ 3
это должно быть исправлено, запустите:
rvm get head
rvm remove 1.9.3
rvm install 1.9.3
не использовать дополнительные флаги
Ответ 4
В результате для меня работала установка XCode , затем RUNNING Xcode, затем попытка переустановки.
Ответ 5
Выполнение
rvm_configure_env=('LDFLAGS=-L/opt/sm/pkg/active/lib' 'CFLAGS=-I/opt/sm/pkg/active/include' 'CPATH=/opt/sm/pkg/active/include')
Исправлена ошибка моего компилятора в Mavericks
Ответ 6
Идти в ту же самую проблему (на 10.8.5, все обновлено). Ruby 2.0.0 установлен отлично, но не 1.9.3. Это решение сработало для меня.
cd в путь ruby (найденный в config.log), тогда
issue .configure
(со всеми параметрами, найденными в config.log)
make
make install
Тогда:
rvm use 1.9.3 --create
Ответ 7
Решение:
unset SDKROOT
Это сработало для меня. Надеюсь, это и для вас.
Я попытался переустановить xcode вместе с инструментами разработки xcode. Не работает. Та же ошибка.
Попробуйте запустить с помощью env -i bash —noprofile —norc
, чтобы узнать, не вызвали ли ваши проблемы env vars проблему.