When Apple switched from GCC to LLVM in Xcode 4.2, they made it significantly more difficult for me to run ruby 1.9.2. (What are the odds this will get easier with Mountain Lion?)
I was using rbenv and its rbenv-build plugin to install ruby 1.9.2 and it told me this:
$ rbenv install 1.9.2-p320 ERROR: This package must be compiled with GCC, but ruby-build couldn't find a suitable `gcc` executable on your system. Please install GCC and try again. DETAILS: Apple no longer includes the official GCC compiler with Xcode as of version 4.2. Instead, the `gcc` executable is a symlink to `llvm-gcc`, a modified version of GCC which outputs LLVM bytecode. For most programs the `llvm-gcc` compiler works fine. However, versions of Ruby older than 1.9.3-p125 are incompatible with `llvm-gcc`. To build older versions of Ruby you must have the official GCC compiler installed on your system. TO FIX THE PROBLEM: Install the official GCC compiler using these packages: https://github.com/kennethreitz/osx-gcc-installer/downloads You will need to install the official GCC compiler to build older versions of Ruby even if you have installed Apple's Command Line Tools for Xcode package. The Command Line Tools for Xcode package only includes `llvm-gcc`.
Note: when you install that, it doesn’t (appear to) provide an uninstaller. Instead it says this:
If something doesn’t work as expected, feel free to install Xcode over this installation.
Once installed, you can remove Xcode completely with the following:
sudo /Developer/Library/uninstall-devtools –mode=all
Bummer for me, huh? Mercifully, the GCC installation package doesn’t mess up the llvm-gcc link in /usr/bin/gcc
. But that means when I do the ruby build, I need to add:
export CC=/usr/bin/gcc-4.2