由于 Mac 上的编译器问题,无法安装 therubyracer gem?
Posted
技术标签:
【中文标题】由于 Mac 上的编译器问题,无法安装 therubyracer gem?【英文标题】:Trouble installing therubyracer gem due to compiler issue on mac? 【发布时间】: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,但这仍然没有解决问题。我该怎么做才能解决这个问题?
【问题讨论】:
【参考方案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以上是关于由于 Mac 上的编译器问题,无法安装 therubyracer gem?的主要内容,如果未能解决你的问题,请参考以下文章
无法从MAC OS 10.14.2上的源代码安装MongooseIM
Mac上xampp上的Imagick:无法使用image.so
Mac App Store 上的 Xcode 无法安装,显示磁盘空间不足