【问题标题】:Trouble installing therubyracer gem due to compiler issue on mac?由于 Mac 上的编译器问题,无法安装 therubyracer gem?
【发布时间】:2016-06-14 23:17:21
【问题描述】:

我一直在尝试在我的 Mac 上使用 OS X El Capitan 为 rails 应用程序安装 gem,therubyracer,但我不断收到与 -rdynamic 标志相关的错误,这导致无法构建本机扩展。

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

/Users/masonscott/.rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20160301-14168-1g6b007.rb extconf.rb
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling accessor.cc
g++: error: unrecognized command line option '-rdynamic'
make: *** [accessor.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/masonscott/.rvm/gems/ruby-2.2.1/gems/therubyracer-0.12.2 for inspection.
Results logged to /Users/masonscott/.rvm/gems/ruby-2.2.1/extensions/x86_64-darwin-14/2.2.0-static/therubyracer-0.12.2/gem_make.out

我试过到处搜索,似乎编译器应该忽略 rdynamic 标志,但由于某种原因我的没有。我尝试通过 gcc 更新到 gcc5,但这仍然没有解决问题。我该怎么做才能解决这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby macos rubygems therubyracer


    【解决方案1】:

    我在安装 therubyracer 时遇到了问题(因为 libv8 的问题)。我想你可以试试这个。

    $ gem uninstall libv8
    $ gem install therubyracer -v '0.12.0'
    

    另一种方式如下

    gem uninstall libv8
    brew install v8
    gem install therubyracer
    gem install libv8 -v '3.16.14.3' -- --with-system-v8
    

    并进行捆绑安装。我认为它可以解决您的问题。

    【讨论】:

    • 谢谢,我想我明白了。我不得不将 gcc 编译器更改为 4.2 版。出于某种原因,较新的 gcc 版本不只是忽略 -rdynamic 标志,该标志仅用于在 linux 上编译,实际上与 windows 和 osx 不兼容according to this question
    猜你喜欢
    • 2012-03-25
    • 2013-11-15
    • 2020-10-06
    • 2019-09-11
    • 2020-04-11
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-11-10
    相关资源
    最近更新 更多