Monthly Archives: June 2012

Ruby and Mac OS X Lion

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

Mountain Lion

So I looked at the list of 200 new features in Mountain Lion and … meh.

If there’s a company in the world that they didn’t pick in preference to Google, though, I couldn’t figure out what it is. I mean, really: a feature to let you access Vimeo?

I wonder how much of that linkage is built on APIs where you can connect to other alternative services? I understand that Apple feels threatened by Google (why, I can’t imagine, except their legendary paranoia) and wants to partner with everyone else. (Vimeo!?) But I want to put together a best-of-breed workflow. I don’t want a Safari reading list, I want Instapaper. I don’t want Safari bookmarks, I want Pinboard. But I’ll get what Apple thinks I should have, which means the services that are dumbed down enough for computer novices to use on their phones.

Except when those services are business partners of Apples. Like Facebook. I don’t want or need hooks to Facebook, but I’ll be surprised if any way to turn them completely off, either. I wonder how much of my activity leaks over to Facebook, and how does much does Apple get for selling to to them? (And since when does Apple overhang the market like this? Fall availability? Why wasn’t it ready in time for the general release of Mountain Lion?)

As for iCloud…. I’d love it if iCloud did what I want, though. I’d love to share calendars with my family members. I can do that now with Google Calendar. Apple says I will be able to do it now with iCloud. That would be a welcome improvement. It’s not clear that you can do that with your contacts, bookmarks, notes, and reminders, though.

(That is another problem with all the social-media linkage, as well. The social media sites all want me to have one persona. What good is it if Twitter is linked into everything I do, so long as it’s just one Twitter account? And Facebook won’t even let me have multiple accounts.)

Whatever.