0

therubyracergem を 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それは正しいアプローチですか?

助けてくれてありがとう!

4

1 に答える 1

0

私も同じ問題に直面しました。上記と同じ手順に従いました。以下は、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 install libv8はしませんでした

次に libv8 gem をアンインストール

gem uninstall libv8

ついにインストールされたtherubyracer

gem install therubyracer -v='0.12.2'

Ruby 2.2.2 を使用しています。

于 2015-08-13T04:39:34.783 に答える