我已经安装了XCode命令行开发人员工具,并安装了ruby-1.9.3-p448
和ruby-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
结果相同......
答案 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>