【问题标题】:Error while installing ruby2 with rvm使用 rvm 安装 ruby​​2 时出错
【发布时间】:2013-02-24 19:07:41
【问题描述】:

我试图以这种方式安装它:

brew install autoconf brew install automake brew install libyaml rvm 安装红宝石头

我尝试使用 rvm 安装 ruby​​2,但出现此错误:

ruby-head - #compile 运行'make'时出错,请阅读 /Users/boti/.rvm/log/ruby-head/make.log 出现错误时 运行制作。停止安装。 Ruby 'ruby-head' 已构建 使用 clang - 但它不(完全)受支持,预计会出现错误。

这是我的编译日志:

编译 ./missing/setproctitle.c 编译 dmyext.c 链接 miniruby /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:111:[BUG] 堆栈 一致性错误 (sp: 38, bp: 36) ruby​​ 2.0.0dev (2013-02-25) [x86_64-darwin12.2.0]

-- 崩溃报告日志信息 ----------------------------------------- --- 请参阅以下之一下的崩溃报告日志文件: * ~/库/日志/CrashReporter * /库/日志/CrashReporter * ~/库/日志/DiagnosticReports * /Library/Logs/DiagnosticReports 的更多细节。

-- 控制帧信息------------------------------------------ ----- c:0006 p:0038 s:0038 e:000037 类 /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:111 c:0005 p:0035 s:0034 e:000033 类 /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:107 c:0004 p:0009 s:0032 e:000031 顶部
/Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:85 [完成] c:0003 p:---- s:0030 e:000029 CFUNC :要求 c:0002 p:0098 s:0026 E:000f88 EVAL ./tool/mkconfig.rb:11 [完成] c:0001 p:0000 s:0002 E:0017a8 顶部 [完成]

./tool/mkconfig.rb:11:in &lt;main&gt;' ./tool/mkconfig.rb:11:inrequire' /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:85:in <top (required)>' /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:107:in ' /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:111:in `'

-- 其他运行时信息 ------------------------------------------ -----

  • 加载的脚本:./tool/mkconfig.rb

  • 加载的功能:

    0 enumerator.so

[注意] 您可能在 Ruby 解释器中遇到了错误,或者 扩展库。欢迎提交错误报告。详情: http://www.ruby-lang.org/bugreport.html

make: * [.rbconfig.time] 中止陷阱:6

这是我编译日志的开始:

[2013-02-24 20:58:47] 使 CC = /usr/bin/gcc-4.2 LD = ld LDSHARED = /usr/bin/gcc-4.2 -dynamiclib CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-括号 -Wno-long-long -Wno-missing-field-初始化器 -Wunused-variable -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -fno-common -pipe XCFLAGS = -include ruby​​/config.h -include ruby​​/missing.h -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -I。 -I.ext/include/x86_64-darwin12.2.0 -I./include -I. DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -install_name /Users/boti/.rvm/rubies/ruby-head/lib/libruby.2.0.0.dylib -current_version 2.0.0 -compatibility_version 2.0.0 -fstack-protector -Wl,-u,_objc_msgSend -fstack-protector -Wl,-u,_objc_msgSend SOLIBS =

如果有任何帮助,我将不胜感激......

【问题讨论】:

  • 你安装了最新版的Xcode和最新版的命令行工具吗?
  • 呃...不,我现在正在做。谢谢...
  • NP,如果我遇到编译器错误,我首先要看的。另外,请用结果更新问题。以下来自@mpapis(RVM 发布管理器)的回答表明 RVM 已经意识到了这个问题。
  • 我重新安装了 XCode 和命令行工具。我得到了同样的结果......

标签: ruby rvm


【解决方案1】:

试试这个:

CC=clang rvm reinstall 2.0.0-p0

它会编译,但以后可能会导致其他错误(我正在寻找导致原始问题的原因)。

【讨论】:

  • CC=clang rvm reinstall "2.0.0-p0" 版本 '2.0.0' 会混淆选择 ruby​​ 解释器。无法删除未知包“”版本“2.0.0”会混淆选择 ruby​​ 解释器。
  • @mpapis 如果您发现原始原因,请发布更新。我的 rbenv 也有同样的问题,但更改 CC 似乎有帮助。
【解决方案2】:

我在使用 XCode 4.6 和 brew 的 Mac OS X 10.8.2 上也遇到了关于 miniruby 的构建错误。

当尝试运行“rvm install 2.0.0”时,结果如下所示:

https://gist.github.com/polarapfel/5080946

尝试将 CC 设置为 /usr/bin/clang 时,结果如下所示:

https://gist.github.com/polarapfel/5081054

不管怎样,结果对我来说都是一样的。

有趣的是:我可以毫无问题地建立头部。我认为 2.0.0p0 在 Mac OS X 上不是一个干净的构建,需要更多的工作来解决问题。

--

好的,这对我有用:只需运行“rvm get stable”即可解决构建问题。

【讨论】:

    【解决方案3】:

    确保您使用 clang 3.0 和 clang -v。
    否则,如果您使用的是较旧的 clang 版本,请使用 gcc 4.2 编译 2.0.0-p0:

    rvm install ruby --with-gcc=gcc-4.2
    

    我会先删除旧的 ruby​​ 尝试:

    rvm remove 2.0.0-p0
    

    还要确保你有 rvm head(不稳定):

    rvm get head  --autolibs=3
    

    如果这应该解决 miniruby / enc 编译问题,那么 2.0.0-p0 是一个干净的构建,但您使用的是过时的编译器。安装最新的 Xcode 不一定包含最新的 clang 版本。

    【讨论】:

      猜你喜欢
      • 2013-09-27
      • 2016-07-29
      • 2012-07-23
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多