When I run
rvm install 1.9.3 --with-gcc=clang
on Mac OSX Lion, ruby does not compile, and I get the following error in (.rvm/log/ruby-1.9.3-p374/make.log)
[2013-01-29 16:31:05] 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/Users/will/.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
How can I get ruby 1.9.3 to install on Lion?
With Xcode 4.6 I was also getting this problem. I installed the command line tools which made gcc available in /usr/bin/gcc.
I managed to get it to work using:
NB. I dont have homebrew installed.
If you don't have rvm already installed, rvm requirements won't work. Install gcc 4.2 with homebrew and restart the rvm installation. Worked for me.
If you are using rbenv and ruby-build instead of rvm, you have to define, which compiler should be used to build ruby:
If it doesn't work, you need to install Gnu C Compiler (gcc) first:
For older Systems or not up to date systems install old GCC 4.2 version:
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 or simply add the export to your .bashrc oder .zshenv file.
I solved this using Macports.
I had problems compiling and were getting the error "Ruby 'ruby-1.9.3-p374' was built using clang - but it's not (fully) supported, expect errors."
Github was also down for maintenance so I couldnt try compiling using brew as suggested in the previous answer... This is what I did, and it compiled fine on Mountain Lion 10.8.2:
First install Macports
http://www.macports.org/install.php
Then run:
sudo port selfupdate
sudo port install apple-gcc42
sudo rvm install ruby-1.9.3-p374 --with-gcc=gcc-apple-4.2
you are using
clang
, according to this ticket http://bugs.ruby-lang.org/issues/5883 - it's not "fully" supported - you need to try usinggcc-4.2
, you get instructions for homebrew with runningrvm requirements
.here is RVM ticket for this problem https://github.com/wayneeseguin/rvm/issues/1480
UPDATE: Ruby-2.0.0 actually compiles better with
clang
then withgcc-4.2
, more details here: https://stackoverflow.com/a/15655034/497756