2012-11-27

Mac Xcode Fail

I have a brand spanking new MacBook Pro Retina since this summer. I was next in line for a new computer and they were just out, so I decided to get one.

It was beautiful -- wonderful graphics, sleek design. I reported on some of the setup hiccups back in August, haven't been blogging much since. I didn't start putting stickers on it, because since I began to use it, I began having headaches. I soon realized that the non-Mac programs were not using the Retina display properly. I debated whether to sell the Retina off to a colleague and get a non-Retina for myself, but finally decided to keep it. I've started off just with a WikiData, a CC, and a FSFE sticker.

But problems keep arising. I have to order an Thunderbolt-2-Ethernet adapter when I am suddenly in a place that doesn't believe in WLAN. I want to plug in a microphone and I discover there is no jack anymore for my super fancy room microphone. I want to leave my laptop in the library and go for coffee, so I whip out my Kensington lock - and find that there is no place to attach it to! My choices are no coffee or no Mac. I settled for the former.

Then suddenly, Keynote is crashing regularly. Or PowerPoint. Or both. Or picd crashes and wants to tell me about it many times. Urgently. Or the TimeMachine interrupts a presentation to tell me that it can't find the TimeMachine. Duh, I'm not home, dude.

I finally narrowed it down to Keynote / PowerPoint crashing when I plugged in the HDMI beamer. It also crashed with the VGA adapter. I tried plugging in and then turning on the beamer, turning on the beamer and then plugging it in, with all variations. Crash, crash, crash. Today, it didn't crash. No idea why, maybe because I installed Xcode last night?

I had avoided installing Xcode over the summer. It didn't get transferred, and is a 4 GB (GIGAbyte) package to download. Since I only have 5 GB a month on my plan, I delayed this until the fall when I could use the line at school. Last night a friend challenged me to a simple task. Should be a 20 minute job, just need to compile a tool in C.

Except that there was no Xcode installed. Okay, let's start downloading ....... Got it, now install. It now expands to 9 GB (!!!!!) somewhere on the disk. My new, larger disk is rapidly evaporating. It gets installed, I now have gcc, go to set up the code for the challenge.

BZZZT. Error.

LLVM ERROR: Cannot yet select: 0x1009eda10: f32 = fp_round 0x100a53310, 0x1009ed810 [ORD=1412] [ID=40]
  0x100a53310: f64 = fdiv 0x100a56910, 0x100a52e10 [ORD=1411] [ID=38]
    0x100a56910: f64 = sint_to_fp 0x100a56a10 [ID=36]
      0x100a56a10: i64,ch = load 0x100543bc8, 0x100a52710, 0x1009ed910 [ID=32]
        0x100543bc8: ch = EntryToken [ORD=1397] [ID=0]
        0x100a52710: i64 = add 0x100a56b10, 0x100a06c10 [ORD=1405] [ID=26]
          0x100a56b10: i64,ch = CopyFromReg 0x100543bc8, 0x1009eee10 [ORD=1405] [ID=18]
            0x100543bc8: ch = EntryToken [ORD=1397] [ID=0]
            0x1009eee10: i64 = Register %reg16385 [ORD=1405] [ID=6]
          0x100a06c10: i64 = Constant<24> [ORD=1397] [ID=2]
        0x1009ed910: i64 = undef [ORD=1398] [ID=4]
    0x100a52e10: f64 = sint_to_fp 0x100a56d10 [ID=35]
      0x100a56d10: i64,ch = load 0x100543bc8, 0x100a56510, 0x1009ed910 [ID=31]
        0x100543bc8: ch = EntryToken [ORD=1397] [ID=0]
        0x100a56510: i64 = add 0x100a56b10, 0x1009ee610 [ORD=1407] [ID=25]
          0x100a56b10: i64,ch = CopyFromReg 0x100543bc8, 0x1009eee10 [ORD=1405] [ID=18]
            0x100543bc8: ch = EntryToken [ORD=1397] [ID=0]
            0x1009eee10: i64 = Register %reg16385 [ORD=1405] [ID=6]
          0x1009ee610: i64 = Constant< [ORD=1399] [ID=5]
        0x1009ed910: i64 = undef [ORD=1398] [ID=4]
  0x1009ed810: i64 = Constant<0> [ORD=1404] [ID=3]
collect2: ld returned 1 exit status
make: *** [sim_c] Error 1 
 
  
Right.WTF is LLVM. I googled. It's a linker. I haven't tussled with a linker for 25 years! I scoured the forums. Lots of people have an LLVM error, and there are various incantations that may or may not work. I clicked through Xcode, looking for something to set. Nothing looked useful. At 2 am I gave up and went to bed.

This morning I showed the mess to one of our engineers. He had a bright idea, he had run into this trying to install Github on our iMacs. "Open up the preferences in Xcode", he said. "Go to Downloads and Components. Look, you don't have the command line tools installed!" It turns out, when you install 9 GB worth of Xcode in order to have a make around, it doesn't bother installing 150 MB worth of command line tools. So we downloaded them, installed them, and by magic, I was now able to create the tool for the challenge.

Look, Apple. It's not just the creative types that like to use your systems. There's Linux under the hood, so that it is possible to program without all the window-y stuff and 97 million checkmarks or buttons to set up for an Xcode project. That might be fine if I'm preparing an app for an iPhone, but when I want a trivial little thing built to fire off a simple task, I don't want to first have to install 9 GB of stuff just to get the compiler put somewhere where I can find it.


1 comment:

Anonymous said...

Well I always told you: NEVER, never trust an apple (unless you peal it yourself)...

http://en.wikipedia.org/wiki/File:Red_Apple.jpg