在OS X 10.8.5上使用rvm安装ruby-1.9.3-p194

时间:2013-10-22 16:34:25

标签: ruby rvm osx-mountain-lion

我已经安装了XCode命令行开发人员工具,并安装了ruby-1.9.3-p448ruby-2.0.0-p247,但没有遇到任何问题。

然而,当我rvm install ruby-1.9.3-p194时,我收到错误:

Error running '__rvm_make -j 1',
please read /Users/michaelirey/.rvm/log/1382458979_ruby-1.9.3-p194/make.log
There has been an error while running make. Halting the installation.

以下是该文件的输出:

[2013-10-22 09:23:22] __rvm_make
__rvm_make () 
{ 
    \make "$@" || return $?
}
current path: /Users/michaelirey/.rvm/src/ruby-1.9.3-p194
command(3): __rvm_make -j 1
    CC = gcc
    LD = ld
    LDSHARED = gcc -dynamiclib
    CFLAGS = -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -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 -fvisibility=hidden -DRUBY_EXPORT
    CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -I. -I.ext/include/x86_64-darwin12.5.0 -I./include -I.
    DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace -install_name /Users/michaelirey/.rvm/rubies/ruby-1.9.3-p194/lib/libruby.1.9.1.dylib -current_version 1.9.1 -compatibility_version 1.9.1 -Wl,-unexported_symbol,_Init_* -Wl,-unexported_symbol,*_threadptr_*  -Wl,-u,_objc_msgSend   
    SOLIBS = 
compiling regparse.c
regparse.c:582:15: error: implicit conversion loses integer precision: 'st_index_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
    return t->num_entries;
    ~~~~~~ ~~~^~~~~~~~~~~
1 error generated.
make: *** [regparse.o] Error 1

我也尝试过: rvm install ruby-1.9.3-p194 --with-gcc=clang

结果相同......

1 个答案:

答案 0 :(得分:2)

你是否在你的环境中CC=gcc - 这可以解释问题 - ruby​​ 1.9.3还没有准备用它构建(或clang),请确保在尝试之前取消设置:< / p>

rvm get stable              # always update rvm first in case of problems
unset CC                    # unset CC to allow autodetection to work 
rvm install ruby-1.9.3-p194 # do not add extra flags

这应该允许RVM自动检测给定ruby构建所需的正确GCC,如果它仍然失败则意味着你仍然有一些环境阻止自动检测或者存在错误 - 在这里打开一个错误报告:https://github.com/wayneeseguin/rvm/issues < / p>