Can't install Ruby under Lion with RVM – GCC issues

78,107

Solution 1

This answer was edited multiple times and now contains several alternative solutions. Try the simple “Edit 3” solution first.

Ruby 1.9.3-p125 and later have official support for clang, so if you are installing such a version you should not need GCC. If you’re installing an older version of Ruby, read on.

To compile Ruby with GCC, you need a non-LLVM version of GCC, which is no longer included with Xcode 4.2. Install it yourself (or downgrade to Xcode 4.1 temporarily), then do CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3 --enable-shared (substituting the path to your non-LLVM gcc).

Edit: https://github.com/kennethreitz/osx-gcc-installer/downloads may help for installing GCC. There is also some info available by running rvm requirements.

Edit 2: For an easier solution, you can try adding --with-gcc=clang to the arguments to configure for Ruby to use clang instead of GCC.

Edit 3: rvm install 1.9.3 --with-gcc=clang does that for you.

Note: With current versions of Xcode you need to install the command-line tools separately from the Xcode menu -> Preferences -> Downloads -> Components. This is a pre-requisite for doing any compiling with Xcode on the command-line, not just Ruby.

Note 2: If something doesn't work after following the steps, try doing a reboot or re-login to ensure that the environment gets set correctly.

Note 3: Ruby versions prior to 1.9.3-p125 may not always be fully compatible with clang, so test your software thoroughly if using the “edit 3” solution in a production environment.

Solution 2

SUMMARY FOR STACK OVERFLOW

I was trying to install SiriProxy on a clean Lion installation on Xcode from App Store

I kept getting errors like : The provided CC(/usr/bin/gcc) is LLVM based.

bash-3.2$ rvm install 1.9.3
ERROR: The provided CC(/usr/bin/gcc) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.


After 2 days finally got it working with these two lines:

http://stackoverflow.com/questions/8000145/ruby-rvm-llvm-and-mysql

bash-3.2$ rvm get head
bash-3.2$ CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared

Before that I had tried every stackoverflow article on Ruby and Lion so doing these may have done some setup that helped the above 2 steps work:

Things I tried included:

Running Install Xcode.app (I had downloaded from App Store - running this does futher installation)

Installing

https://github.com/kennethreitz/osx-gcc-installer/downloads may help for installing GCC.

Set up CC in

more /Users//.bash_profile

bash-3.2$ more /Users/<USERNAME>/.bash_profile 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
export CC=/usr/share/TargetConfigs/bin/gcc

First line came from SiriProxy install instruction https://github.com/plamoni/SiriProxy

2nd line export CC never seemed to work. So dont add.

It had many versions each pointing I finally used CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared

Solution 3

rvm install 1.9.3 --with-gcc=clang

Worked for me. This was on a brand new Lion with Xcode (had no "traditional" GCC).

Solution 4

OK I didn't have to install gcc-4.2 separately, I used the one delivered in Xcode, but I had an issue where the --with-gcc=clang wasn't getting passed through. Added the following line to my .rvmrc:

export rvm_configure_flags="--with-gcc=clang"

Worked as required

rvm upgrade ruby-1.9.2-p290 ruby-1.9.3-p125
...
ruby-1.9.3-p125 - #extracted to /Users/leif/.rvm/src/ruby-1.9.3-p125 (already extracted)
ruby-1.9.3-p125 - #configuring
ruby-1.9.3-p125 - #compiling 
ruby-1.9.3-p125 - #installing
....
Successfully migrated ruby-1.9.2-p290 to ruby-1.9.3-p125
Upgrade complete!

bang:$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]

Note my env is the following

OS

Darwin bang.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64

Xcode

Xcode 4.2.1 Build 4D502

GCC

i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)

lrwxr-xr-x  1 root  wheel  12 22 Dec 21:30 /usr/bin/gcc -> llvm-gcc-4.2

I tried using the answer of passing --with-gcc=clang on the command line to the rvm upgrade command, but it didn't work, it didn't appear to get pass from rvm to configure. Apparently the problem in RVM of arguments not being passed to configure is fixed (in commit 1641ceb0 in 2011), but even after upgrading RVM to latest (via rvm get latest) it still didn't get passed. Using the .rvmrc file was the only way it would work for me.

Solution 5

You can try to install Command Line Tools for Xcode, it includes GCC, LLMV and other tools that excluded in Xcode 4.2 and higher.

Share:
78,107

Related videos on Youtube

Jamie Schembri
Author by

Jamie Schembri

Just another developer.

Updated on February 07, 2022

Comments

  • Jamie Schembri
    Jamie Schembri over 2 years

    Most questions regarding this problem are due to missing Xcode; I have Xcode 4.2 installed.

    Install attempt:

    rvm install 1.9.3
    Installing Ruby from source to: /Users/jamie/.rvm/rubies/ruby-1.9.3-p0, this may take a while depending on your cpu(s)...
    
    ruby-1.9.3-p0 - #fetching 
    ruby-1.9.3-p0 - #extracted to /Users/jamie/.rvm/src/ruby-1.9.3-p0 (already extracted)
    Fetching yaml-0.1.4.tar.gz to /Users/jamie/.rvm/archives
    Extracting yaml-0.1.4.tar.gz to /Users/jamie/.rvm/src
    Configuring yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
    Compiling yaml in /Users/jamie/.rvm/src/yaml-0.1.4.
    Installing yaml to /Users/jamie/.rvm/usr
    ruby-1.9.3-p0 - #configuring 
    ERROR: Error running ' ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr ', please read /Users/jamie/.rvm/log/ruby-1.9.3-p0/configure.log
    ERROR: There has been an error while running configure. Halting the installation.
    

    configure.log:

    [2011-11-07 04:32:17]  ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr 
    configure: WARNING: unrecognized options: --with-libyaml-dir
    checking build system type... x86_64-apple-darwin11.2.0
    checking host system type... x86_64-apple-darwin11.2.0
    checking target system type... x86_64-apple-darwin11.2.0
    checking whether the C compiler works... no
    configure: error: in `/Users/jamie/.rvm/src/ruby-1.9.3-p0':
    configure: error: C compiler cannot create executables
    See `config.log' for more details
    

    GCC is available:

    gcc -v
    Using built-in specs.
    Target: i686-apple-darwin11
    Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/src/configure --disable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
    Thread model: posix
    gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
    
    ls /usr/bin | grep gcc         
    gcc
    i686-apple-darwin11-llvm-gcc-4.2
    llvm-gcc
    llvm-gcc-4.2
    

    Based on config.log (posted at bottom due to size) I tried symlinking gcc-4.2 to gcc and then installing:

    rvm install 1.9.3                       
    ERROR: The autodetected CC(/usr/bin/gcc-4.2) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`, and set CC=/path/to/gcc .
    

    So I could probably just grab gcc elsewhere, but I'm mostly concerned as to why this is happening. Shouldn't installing Xcode be enough?

    config.log:

    This file contains any messages produced by compilers while
    running configure, to aid debugging if configure makes a mistake.
    
    It was created by configure, which was
    generated by GNU Autoconf 2.68.  Invocation command line was
    
      $ ./configure --prefix=/Users/jamie/.rvm/rubies/ruby-1.9.3-p0 --enable-shared --disable-install-doc --with-libyaml-dir=/Users/jamie/.rvm/usr
    
    ## --------- ##
    ## Platform. ##
    ## --------- ##
    
    hostname = Wilson.local
    uname -m = x86_64
    uname -r = 11.2.0
    uname -s = Darwin
    uname -v = Darwin Kernel Version 11.2.0: Tue Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64
    
    /usr/bin/uname -p = i386
    /bin/uname -X     = unknown
    
    /bin/arch              = unknown
    /usr/bin/arch -k       = unknown
    /usr/convex/getsysinfo = unknown
    /usr/bin/hostinfo      = Mach kernel version:
         Darwin Kernel Version 11.2.0: Tue Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64
    Kernel configured for up to 4 processors.
    4 processors are physically available.
    4 processors are logically available.
    Processor type: i486 (Intel 80486)
    Processors active: 0 1 2 3
    Primary memory available: 8.00 gigabytes
    Default processor set: 110 tasks, 546 threads, 4 processors
    Load average: 1.28, Mach factor: 2.71
    /bin/machine           = unknown
    /usr/bin/oslevel       = unknown
    /bin/universe          = unknown
    
    PATH: /Users/jamie/.rvm/usr/bin
    PATH: /usr/bin
    PATH: /bin
    PATH: /usr/sbin
    PATH: /sbin
    PATH: /usr/local/bin
    PATH: /usr/X11/bin
    PATH: /Users/jamie/bin
    PATH: /Users/jamie/.rvm/bin
    PATH: /Users/jamie/.rvm/bin
    
    
    ## ----------- ##
    ## Core tests. ##
    ## ----------- ##
    
    configure:2764: checking build system type
    configure:2778: result: x86_64-apple-darwin11.2.0
    configure:2849: checking host system type
    configure:2862: result: x86_64-apple-darwin11.2.0
    configure:2882: checking target system type
    configure:2895: result: x86_64-apple-darwin11.2.0
    configure:3376: checking for C compiler version
    configure:3385: gcc-4.2 --version >&5
    ./configure: line 3387: gcc-4.2: command not found
    configure:3396: $? = 127
    configure:3385: gcc-4.2 -v >&5
    ./configure: line 3387: gcc-4.2: command not found
    configure:3396: $? = 127
    configure:3385: gcc-4.2 -V >&5
    ./configure: line 3387: gcc-4.2: command not found
    configure:3396: $? = 127
    configure:3385: gcc-4.2 -qversion >&5
    ./configure: line 3387: gcc-4.2: command not found
    configure:3396: $? = 127
    configure:3416: checking whether the C compiler works
    configure:3438: gcc-4.2    conftest.c  >&5
    ./configure: line 3440: gcc-4.2: command not found
    configure:3442: $? = 127
    configure:3480: result: no
    configure: failed program was:
    | /* confdefs.h */
    | #define PACKAGE_NAME ""
    | #define PACKAGE_TARNAME ""
    | #define PACKAGE_VERSION ""
    | #define PACKAGE_STRING ""
    | #define PACKAGE_BUGREPORT ""
    | #define PACKAGE_URL ""
    | #define CANONICALIZATION_FOR_MATHN 1
    | /* end confdefs.h.  */
    | 
    | int
    | main ()
    | {
    | 
    |   ;
    |   return 0;
    | }
    configure:3485: error: in `/Users/jamie/.rvm/src/ruby-1.9.3-p0':
    configure:3487: error: C compiler cannot create executables
    See `config.log' for more details
    
    ## ---------------- ##
    ## Cache variables. ##
    ## ---------------- ##
    
    ac_cv_build=x86_64-apple-darwin11.2.0
    ac_cv_env_CCC_set=
    ac_cv_env_CCC_value=
    ac_cv_env_CC_set=
    ac_cv_env_CC_value=
    ac_cv_env_CFLAGS_set=
    ac_cv_env_CFLAGS_value=
    ac_cv_env_CPPFLAGS_set=
    ac_cv_env_CPPFLAGS_value=
    ac_cv_env_CPP_set=
    ac_cv_env_CPP_value=
    ac_cv_env_CXXFLAGS_set=
    ac_cv_env_CXXFLAGS_value=
    ac_cv_env_CXX_set=
    ac_cv_env_CXX_value=
    ac_cv_env_LDFLAGS_set=
    ac_cv_env_LDFLAGS_value=
    ac_cv_env_LIBS_set=
    ac_cv_env_LIBS_value=
    ac_cv_env_build_alias_set=
    ac_cv_env_build_alias_value=
    ac_cv_env_host_alias_set=
    ac_cv_env_host_alias_value=
    ac_cv_env_target_alias_set=
    ac_cv_env_target_alias_value=
    ac_cv_host=x86_64-apple-darwin11.2.0
    ac_cv_prog_CC=gcc-4.2
    ac_cv_target=x86_64-apple-darwin11.2.0
    
    ## ----------------- ##
    ## Output variables. ##
    ## ----------------- ##
    
    ALLOCA=''
    AR=''
    ARCHFILE=''
    ARCH_FLAG=''
    AS=''
    ASFLAGS=''
    BASERUBY='ruby'
    BUILTIN_ENCOBJS=''
    BUILTIN_TRANSOBJS=''
    BUILTIN_TRANSSRCS=''
    CAPITARGET=''
    CC='gcc-4.2'
    CCDLFLAGS=''
    CFLAGS=''
    CHDIR=''
    COMMON_HEADERS=''
    COMMON_LIBS=''
    COMMON_MACROS=''
    COUTFLAG=''
    CP=''
    CPP=''
    CPPFLAGS=''
    CPPOUTFILE=''
    CXX='g++-4.2'
    CXXFLAGS=''
    DEFS=''
    DLDFLAGS=''
    DLDLIBS=''
    DLEXT2=''
    DLEXT=''
    DLLWRAP=''
    DOT=''
    DOXYGEN=''
    ECHO_C='\c'
    ECHO_N=''
    ECHO_T=''
    EGREP=''
    ENABLE_SHARED=''
    EXECUTABLE_EXTS=''
    EXEEXT=''
    EXPORT_PREFIX=''
    EXTOUT=''
    EXTSTATIC=''
    GCC=''
    GNU_LD=''
    GREP=''
    INSTALLDOC=''
    INSTALL_DATA=''
    INSTALL_PROGRAM=''
    INSTALL_SCRIPT=''
    LDFLAGS=''
    LDSHARED=''
    LDSHAREDXX=''
    LIBEXT=''
    LIBOBJS=''
    LIBPATHENV=''
    LIBPATHFLAG=''
    LIBRUBY=''
    LIBRUBYARG=''
    LIBRUBYARG_SHARED=''
    LIBRUBYARG_STATIC=''
    LIBRUBY_A=''
    LIBRUBY_ALIASES=''
    LIBRUBY_DLDFLAGS=''
    LIBRUBY_LDSHARED=''
    LIBRUBY_RELATIVE=''
    LIBRUBY_SO=''
    LIBS=''
    LINK_SO=''
    LN_S=''
    LTLIBOBJS=''
    MAINLIBS=''
    MAJOR='1'
    MAKEDIRS=''
    MAKEFILES=''
    MANTYPE=''
    MINIOBJS=''
    MINIRUBY=''
    MINOR='9'
    MKDIR_P=''
    NM=''
    NROFF=''
    NULLCMD=''
    OBJCOPY=''
    OBJDUMP=''
    OBJEXT=''
    OUTFLAG=''
    PACKAGE=''
    PACKAGE_BUGREPORT=''
    PACKAGE_NAME=''
    PACKAGE_STRING=''
    PACKAGE_TARNAME=''
    PACKAGE_URL=''
    PACKAGE_VERSION=''
    PATH_SEPARATOR=':'
    PKG_CONFIG=''
    PREP=''
    RANLIB=''
    RDOCTARGET=''
    RI_BASE_NAME=''
    RM=''
    RMALL=''
    RMDIR=''
    RMDIRS=''
    RPATHFLAG=''
    RUBYW_BASE_NAME='rubyw'
    RUBYW_INSTALL_NAME=''
    RUBY_BASE_NAME='ruby'
    RUBY_INSTALL_NAME=''
    RUBY_PROGRAM_VERSION='1.9.3'
    RUBY_RELEASE_DATE='2011-10-30'
    RUBY_SO_NAME=''
    RUNRUBY=''
    SET_MAKE=''
    SHELL='/bin/sh'
    SOLIBS=''
    STATIC=''
    STRIP=''
    SYMBOL_PREFIX=''
    TEENY='1'
    TEST_RUNNABLE=''
    THREAD_MODEL=''
    TRY_LINK=''
    UNIVERSAL_ARCHNAMES=''
    UNIVERSAL_INTS=''
    USE_RUBYGEMS=''
    WERRORFLAG=''
    WINDRES=''
    XCFLAGS=''
    XLDFLAGS=''
    XRUBY=''
    XRUBY_LIBDIR=''
    XRUBY_RUBYHDRDIR=''
    XRUBY_RUBYLIBDIR=''
    ac_ct_CC=''
    ac_ct_CXX=''
    ac_ct_OBJCOPY=''
    ac_ct_OBJDUMP=''
    arch=''
    bindir='${exec_prefix}/bin'
    build='x86_64-apple-darwin11.2.0'
    build_alias=''
    build_cpu='x86_64'
    build_os='darwin11.2.0'
    build_vendor='apple'
    cflags=' ${optflags} ${debugflags} ${warnflags}'
    configure_args=''
    cppflags=''
    cxxflags=' ${optflags} ${debugflags} ${warnflags}'
    datadir='${datarootdir}'
    datarootdir='${prefix}/share'
    debugflags=''
    docdir='${datarootdir}/doc/${PACKAGE}'
    dvidir='${docdir}'
    exec=''
    exec_prefix='NONE'
    host='x86_64-apple-darwin11.2.0'
    host_alias=''
    host_cpu='x86_64'
    host_os='darwin11.2.0'
    host_vendor='apple'
    htmldir='${docdir}'
    includedir='${prefix}/include'
    infodir='${datarootdir}/info'
    libdir='${exec_prefix}/lib'
    libexecdir='${exec_prefix}/libexec'
    localedir='${datarootdir}/locale'
    localstatedir='${prefix}/var'
    mandir='${datarootdir}/man'
    oldincludedir='/usr/include'
    optflags=''
    pdfdir='${docdir}'
    prefix='/Users/jamie/.rvm/rubies/ruby-1.9.3-p0'
    program_transform_name='s&^&&'
    psdir='${docdir}'
    ridir=''
    ruby_pc=''
    ruby_version=''
    rubyhdrdir=''
    rubylibprefix=''
    rubyw_install_name=''
    sbindir='${exec_prefix}/sbin'
    setup=''
    sharedstatedir='${prefix}/com'
    sitearch=''
    sitedir=''
    sitehdrdir=''
    sysconfdir='${prefix}/etc'
    target='x86_64-apple-darwin11.2.0'
    target_alias=''
    target_cpu='x86_64'
    target_os='darwin11.2.0'
    target_vendor='apple'
    try_header=''
    vendordir=''
    vendorhdrdir=''
    warnflags=''
    
    ## ----------- ##
    ## confdefs.h. ##
    ## ----------- ##
    
    /* confdefs.h */
    #define PACKAGE_NAME ""
    #define PACKAGE_TARNAME ""
    #define PACKAGE_VERSION ""
    #define PACKAGE_STRING ""
    #define PACKAGE_BUGREPORT ""
    #define PACKAGE_URL ""
    #define CANONICALIZATION_FOR_MATHN 1
    
    configure: exit 77
    
    • mu is too short
      mu is too short over 12 years
      Have you tried setting CC=/usr/bin/gcc?
    • mu is too short
      mu is too short over 12 years
      Anything interesting in the config.log file?
    • Dave Newton
      Dave Newton over 12 years
      Hmm; I have the same gcc, and it installed fine :( Second thing on SO that has worked fine for me but not for someone else; usually it's the opposite.
    • Jamie Schembri
      Jamie Schembri over 12 years
      mu: I've added the whole config.log now. Nothing unusual to my eyes. This is the version without a symlink. Dave: Well, that's computers :-).
    • ma11hew28
      ma11hew28 over 11 years
  • Jamie Schembri
    Jamie Schembri over 12 years
    The GCC-10.7.pkg didn't do it for me – I think it may only work on 10.7.0 (I'm running 10.7.2), but perhaps the v2 pkg works. Anyway, --with-gcc=clang did it for me! Thanks!
  • Geoff Lanotte
    Geoff Lanotte over 12 years
    Thank you, this was a real time saver for me.
  • echo
    echo over 12 years
    Thanks, Edit 3 fixed it for me too.
  • leandro
    leandro over 12 years
    edit3 didn'work for me (Xcode 4.2.1), but after installing readline rvm pkg install readline and passing an extra parameter rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr it installed successfully.
  • A-Dubb
    A-Dubb over 12 years
    Man...thank you for edit3. I have to vote you up for that. Thank you man
  • Arkku
    Arkku over 12 years
    Did you try rvm install 1.9.3 --with-gcc=clang?
  • JP.
    JP. over 12 years
    Edit3 : doesn't work, Try to install the gcc separately from github.com/kennethreitz/osx-gcc-installer/downloads
  • jbnunn
    jbnunn over 12 years
    Edit 3, boom! Did 1.9.2 instead of 1.9.3 with no problem
  • lukecampbell
    lukecampbell over 12 years
    Thank you so much!, we can finally work on these ruby projects with our lion machines again! You are a life saver!
  • wasabi
    wasabi over 12 years
    Edit 3 Initially didn't work for me, but after restarting my machine it worked. Thanks!
  • harsha
    harsha over 12 years
    Thanks edit 3 worked straight away (OS X 10.7.2) for ruby 1.9.3
  • Bret Fisher
    Bret Fisher over 12 years
    For me on OS X 10.7.2 with Xcode 4.2.1 already installed I needed to download/install the GCC as suggested, then reinstall xcode 4.2.1, then new terminal window and finally edit 3 worked. Thanks.
  • Florin
    Florin over 12 years
    CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared, worked on Snow Leopard with Xcode 4.2, thank you!
  • Nubzor
    Nubzor over 12 years
    just tell configure to search for correct gcc - see my answer below
  • Arkku
    Arkku over 12 years
    Note that the OP symlinked gcc to gcc-4.2, which made the command available but revealed the underlying problem that their gcc was actually llvm-gcc (and no non-LLVM GCC was installed).
  • Arkku
    Arkku over 12 years
    @stefanB That's basically what the solution in edits 2 & 3 is, except that many users will not have the “correct” (non-LLVM) gcc installed and therefore clang is the better choice. (See comments above; edit 3 is the simple one-liner that apparently works for most people.)
  • jerseyboy
    jerseyboy over 12 years
    The comment by leandro helped me. It may apply to Lion / XCode 4.2 users if Edit 3 still fails with the messages "checking whether the C compiler works... no configure: error: in `/Users/someone/.rvm/src/yaml-0.1.4': configure: error: C compiler cannot create executables" in the configure.log
  • jrhorn424
    jrhorn424 over 12 years
    As noted in this answer, there is another alternative. rvm install 1.9.3 --with-gcc=clang worked for me, but it is not fully supported. You can also use CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared, which seems better supported. I used osx-gcc-installer to get 4.2, I believe.
  • Eric Hu
    Eric Hu over 12 years
    I'd advise against rvm get head for other users. This pulls from the head of the git repo and may not be stable. rvm get latest grabs the latest stable version. If this doesn't fix this issue for you, the rvm install 1.9.3 --with-gcc=clang is worth a shot first since it's less likely to introduce side effects
  • Shane
    Shane over 12 years
    I had to run rvm cleanup sources then --with-gcc=clang worked
  • tomato
    tomato over 12 years
    I'm on Lion with XCode 4.3.1 installed and the latest RVM (1.10.2). The only approach which worked for me was sudo CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared. Edit 3 just didn't work for me.
  • Arkku
    Arkku over 12 years
    @tomtheguvnor Hmm, I just tried this again with the same versions of XCode, RVM, and Lion, and it worked with edit 3. Did you install the command-line tools from XCode 4.3.1 preferences?
  • tomato
    tomato over 12 years
    @Arkku No I hadn't installed the command-line tools. I just installed them and retried installing 1.9.3 using sudo rvm install 1.9.3 --with-gcc=clang and it worked! So thanks. Perhaps update edit 3 to hint that you need command-line tools installed?
  • Guillermo Guerini
    Guillermo Guerini about 12 years
    And if nothing that was written above works and you already tried "rvm install 1.9.3", try this: "rvm reinstall 1.9.3". It will work!
  • John K. Chow
    John K. Chow almost 12 years
    Unfortunately, using the clang compiler actually caused a ton of seg faults. I had to use the older GCC compiler via homebrew, and the seg faults went away. Just wanted to add this in case it helps someone in the future.
  • Arkku
    Arkku almost 12 years
    @JohnK.Chow Do you mean segfaults when compiling or when running Ruby? I haven't experienced either problem, and I've been running the clang-compiled version ever since before posting this answer.
  • John K. Chow
    John K. Chow almost 12 years
    @Arkku When running Ruby, specifically when we're running our rspec. I'm running OSX Mountain Lion. Even on our Ubuntu machine (12.04 LTS), it had the exact same seg faults. For our Ubuntu machine, we were running 4.4.1. On our Ubuntu machines, we re-compiled our Ruby with 4.2.3 GCC, and it works like a charm.
  • ma11hew28
    ma11hew28 over 11 years
    I have discovered a truly marvelous solution to this, which this character-limit is too short to contain. ;) stackoverflow.com/a/12737471/242933
  • Andres
    Andres about 11 years
    Fixed! "With current versions of XCode you need to install the command-line tools separately from the XCode menu -> Preferences -> Downloads -> Components. This is a pre-requisite for doing any compiling with XCode on the command-line, not just Ruby." Just install the command line tools. That's it.