Установка libv8 и therubyracer на Маверикс

Я собираюсь рвать на себе волосы, пытаясь получить therubyracer gem для установки на Mavericks 10.9 - любая помощь будет очень признательна.

Я понимаю, что есть множество других вопросов по этому вопросу, но буквально ни одно из следующего (включая различные комбинации и многообещающие повторные попытки, которые занимали 2+ дня на данный момент) не решило ни одной проблемы

  1. Удаление libv8 и установить therubyracer
  2. С помощью brew install libv8 вместо
  3. Установка apple-gcc или похожие
  4. Установка различных версий Xcode а также Developer Tools
  5. Переустановка rvm и восстановление ruby 1.9.3

Последнее, чего я смог добиться, это получить это сообщение об ошибке:

> gem install therubyracer
Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
  ERROR: Failed to build gem native extension.

    /Users/aqua/.rvm/rubies/ruby-1.9.3-p545/bin/ruby -r ./siteconf20150127-54061-10i2fna.rb extconf.rb
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
creating Makefile

make  clean

make
compiling accessor.cc
g++-4.6: error: unrecognized option '-rdynamic'
make: *** [accessor.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/aqua/.rvm/gems/ruby-1.9.3-p545/gems/therubyracer-0.12.1 for inspection.
Results logged to /Users/aqua/.rvm/gems/ruby-1.9.3-p545/extensions/x86_64-darwin-13/1.9.1/therubyracer-0.12.1/gem_make.out

Там, кажется, не так много информации вокруг g++-4.6: error: unrecognized option '-rdynamic', Мое первое предположение было, возможно, что gcc46 не поддерживает этот флаг.

Основываясь на других предложениях, я попытался установить apple-gcc42:

brew tap homebrew/dupes
brew install apple-gcc42

И выполнил это снова с надлежащими переменными контекста среды, чтобы указать это новому apple-gcc42 монтаж:

> $ CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 CPP=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2 CXX=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2 gem install therubyracer

Все еще не повезло, и это было странно, все еще бросая ту же ошибку о gcc46 что заставляет меня думать, что это не так apple-gcc42 совсем

Я даже пробовал ссылаться на правильные версии (конечно же, копировал оригиналы)

cd /usr/bin

mv gcc gcc_backup
mv g++ g++_backup
mv cpp cpp_backup

sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2 /usr/bin/g++
sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2 /usr/bin/cpp

Абсолютно не повезло, до сих пор бросали g++-4.6: error: unrecognized option '-rdynamic'

Итак.. Как вы заставляете gem install использовать конкретную версию компилятора? Это даже правильный подход?

Спасибо за помощь!

1 ответ

Я тоже столкнулся с той же проблемой. Выполните те же шаги, которые вы описали выше. Ниже приведен дополнительный экспорт, который я сделал для установки therubyracer.

export CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2
export CXX=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2
export CPP=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2

Я не делал brew устанавливал libv8

Далее удален гем libv8

gem uninstall libv8

Наконец то установил therubyracer

gem install therubyracer -v='0.12.2'

Я использую ruby ​​2.2.2, надеюсь, это поможет.

Другие вопросы по тегам