Установка Ruby 1.9 на Lion через RVM
08 ноября 2011
Проблема: в OSX Lion стандартным компилятором C++ стал Clang, заменив собой GCC. Clang по сравнению с GCC довольно сырой, кроме того, им не компилируется добрая половина расширений Ruby.
Какой компилятор использует gem для сборки расширений? Я так понял, что тот же, который использовался при сборке
Ruby.
Во многочисленных советах, которые перечислены в гугле, советуют переназначать переменную CC.
# У меня так не заработало export CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --force # Зато заработало так rvm install 1.9.3 -C CC=/usr/bin/gcc-4.2
То есть, передавать компилятор пришлось прямиком в параметры компилятора.
Как узнать, каким компилятором собран Ruby? Вот так:
ruby -e 'puts RbConfig::CONFIG["CC"]'

$ ruby -e ‘puts RbConfig::CONFIG[«CC»]’
-e:1:in `<main>‘: uninitialized constant Object::RbConfig (NameError)
ruby -v?На сколько я помню, это вроде давно не надо. У меня на Lion собирается и так. И работает.
Да, собирается. Но расширения потом не все собираются. Например, therubyracer.
Всего лишь забыл сказать что надо поставить https://github.com/kennethreitz/osx-gcc-installer что бы gcc появился.
С Xcode тоже ставится и Clang, и gcc.
в 4.2.x gcc не ставится, а линкуется на llvm.