Installing Ruby on Mac OS X 10.8.2

2019-01-13 13:02发布

I have referred to Installing Ruby on Rails - Mac OS Lion and followed Alain Beauvois's reply and got pretty much everything up. The only difference is I am using 1.9.3 instead of 1.9.2.

I have created .bash_profile and even made sure that is there by open -e .bash_profile and even added the line as stated by Alain Beauvois.

But what seems to be the problem now is I am getting this error:

Error running 'make', please read /usr/local/rvm/log/ruby-1.9.3-p374/make.log
There has been an error while running make. Halting the installation.

The referenced log contains this:

[2013-02-02 21:41:52] make
    CC = clang
    LD = ld
    LDSHARED = clang -dynamic -bundle
    CFLAGS = -O3 -ggdb -Wall -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  -pipe 
    XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT
    CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -I/usr/local/rvm/usr/include -I. -I.ext/include/x86_64-darwin12.2.1 -I./include -I.
    DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace  
    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

I even tried

rvm -install ruby-1.9.3-p374

but still get the same error. I did get some weird errors before I got to this part but after I reran it with an addition of sudo in front of it, it worked. AFAIK, sudo = doing something with su permissions/privileges, right?

9条回答
姐就是有狂的资本
2楼-- · 2019-01-13 13:18

This also worked in rbenv on OSX 10.8.2 + XCode 4.6

$ export CC=gcc
$ rbenv install 1.9.3-p385 -v

But is also useful to know that homebrew can install another version of gcc if apple changes the command line tools of Xcode in the future.

查看更多
Anthone
3楼-- · 2019-01-13 13:22

Just to add another answer to the list... I'm using ruby-install, and this is what worked for me:

CC=/usr/local/bin/gcc-4.2 ruby-install ruby 1.9.3-p0
查看更多
\"骚年 ilove
4楼-- · 2019-01-13 13:32

Just found this. I think this is what you need to do.

First, if you haven't already, download MacPorts and install it. Then run the following two commands:

sudo port selfupdate
sudo port install apple-gcc42

Too get real UNIX GCC. Then, to install 1.9.3 run:

CC=/opt/local/bin/gcc-apple-4.2 rvm install ruby-1.9.3-p194 --enable-shared --without-tk --without-tcl

Which tells rvm to install Ruby using UNIX GCC without Tk or Tcl which require X11 (left out of OSX 10.8). If you want things like readline support, OpenSSL, etc., check out the above linked gist.

查看更多
一夜七次
5楼-- · 2019-01-13 13:33

I had the exact same error, but am using brew instead of MacPorts. All I had to do was:

brew update
brew tap homebrew/dupes
brew install apple-gcc42
rvm get stable
rvm install 1.9.3-p374

I didn't have to set the CC environment variable as some instructions point out. HTH!

查看更多
趁早两清
6楼-- · 2019-01-13 13:38

If you are using rbenv and ruby-build instead of rvm, you have to do this:

env CC=gcc rbenv install 1.9.3-p392

If this doesn't work, try this:

# this export must be done before every new ruby build
export CC=gcc
# use the version you wish to install
rbenv install 1.9.3-p392

If it doesn't work, you need to install gcc first:

brew update
brew tap homebrew/dupes
# install apple-gcc, only once needed
brew install apple-gcc42

Until the ruby folks build a clang compatible ruby version, you have to export the CC variable before every build of a new ruby version

查看更多
Melony?
7楼-- · 2019-01-13 13:38

For the record: Works for me with rbenv, ruby 1.9.3-p385, gcc48 (brew install gcc48) on Darwin Kernel Version 15.2.0. (there were lots of warnings during compilation that I ignored, ruby works fine so far).

I just had to set CC=gcc-4.8 before rbenv install 1.9.3-p385

查看更多
登录 后发表回答