1

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

brew install autoconf brew install automake brew install libyaml rvm install ruby​​-head

我试图用 rvm 安装 ruby​​2 但我收到了这个错误:

ruby-head - #compile Error running 'make', please read /Users/boti/.rvm/log/ruby-head/make.log 运行 make 时出错。停止安装。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 ) 红宝石 2.0.0dev (2013-02-25) [x86_64-darwin12.2.0]

-- 崩溃报告日志信息 --------------------------------------------------------请参阅以下之一下的崩溃报告日志文件: * ~/Library/Logs/CrashReporter * /Library/Logs/CrashReporter * ~/Library/Logs/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 类 /用户/boti/.rvm/src/ruby-head/lib/fileutils.rb:107 c:0004 p:0009 s:0032 e:000031 TOP
/Users/boti/.rvm/src/ruby-head/lib/fileutils .rb:85 [完成] c:0003 p:---- s:0030 e:000029 CFUNC :require 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<main>' ./tool/mkconfig.rb:11:in需要' <top (required)>' /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:107:in /Users/boti/.rvm/src/ruby-head/lib/fileutils.rb:85:in'/Users/boti/.rvm/src/ruby-head /lib/fileutils.rb:111:in `'

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

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

  • 加载的功能:

    0 枚举器.so

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

制作:* [.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-initializers -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,抑制 -install_name /Users/boti/.rvm/rubies/ruby-head/lib/libruby。

我将不胜感激任何帮助...

4

3 回答 3

6

试试这个:

CC=clang rvm reinstall 2.0.0-p0

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

于 2013-02-24T19:16:22.287 回答
0

我在使用 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”即可解决构建问题。

于 2013-03-04T09:29:33.547 回答
0

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

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

我会首先删除旧的红宝石尝试:

rvm remove 2.0.0-p0

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

rvm get head  --autolibs=3

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

于 2013-03-04T10:26:47.120 回答