OSX 10.8 xcrun (No such file or directory)

16,400

Solution 1

Unfortunately, at least the last time I played with it, I found you really can't use xcrun with just the standalone Command Line Tools package. It apparently wasn't designed for that use case; the standalone package is a fairly recent innovation with Xcode 4. If the product you are trying to install really depends on xcrun, you may need to install the full Xcode.app distribution to get around it. That, or modify the distribution's Makefile et al to not use xcrun. Or, possibly (untested), create some directories and/or symlinks to fake xcrun into thinking you have Xcode.app installed - a messy hack.

Solution 2

Type in these commands on the console:

sudo xcode-select -switch /usr/bin
sudo mv /usr/bin/xcrun /usr/bin/xcrun-orig
sudo vim /usr/bin/xcrun

Enter the following into your dummy xcrun file:

#!/bin/sh
$@

Then make it executable:

sudo chmod 755 /usr/bin/xcrun

Solution 3

Even with Command Line Tools installed, your xcode-select is strange. It should be pointing into your XCode bundle, not /usr/bin:

$ xcode-select -print-path
/Applications/Xcode.app/Contents/Developer

Switch it to Xcode like this:

$ sudo xcode-select --switch /Applications/Xcode.app
Share:
16,400

Related videos on Youtube

Lukas Grebe
Author by

Lukas Grebe

Updated on June 14, 2022

Comments

  • Lukas Grebe
    Lukas Grebe almost 2 years

    When executing gem install jekyll on OSX 10.8 with the standalone Command Line Tools package from Apple's Developer site installed (no Xcode), i run into the following error:

    Building native extensions. This could take a while...

    ERROR: Error installing jekyll:

    ERROR: Failed to build gem native extension.

    xcrun cc -I. -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin12.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -arch i386 -arch x86_64 -g -Os -pipe -fno-common -DENABLE_DTRACE  -fno-common  -pipe -fno-common   -c porter.c
    xcrun: Error: failed to exec real xcrun. (No such file or directory)
    

    gcc is installed:

    $ which cc
    /usr/bin/cc
    

    the look-up path for xcrun is set:

    xcode-select -print-path
    /usr/bin
    

    yet no matter which arguments i try, xcrun will always return

    xcrun: Error: failed to exec real xcrun. (No such file or directory)

    man xcrun reads "When xcrun is invoked with the name xcrun , the flags -log and -verbose are useful debugging aids. The flag -no-cache can be used to bypass cache lookup." but none of this seems to have any effect: the only output remains the above…

    Solution: following Ned Deily's advice below, i've replaced xcrun with a shell script to simply call the given arguments:

    #!/bin/bash
    $@
    
    • Ned Deily
      Ned Deily over 11 years
      By "Command Line Tools installed", do you mean you only have the standalone Command Line Tools package installed from the Apple Developer site without installing Xcode.app or do you have Xcode.app installed and then installed its Command Line Tools component from the Xcode.app Preferences menu?
    • Lukas Grebe
      Lukas Grebe over 11 years
      The standalone package from Apple's Developer site. - I modified the question to make this more clear. Sorry about the confusion.
    • chrischris
      chrischris about 11 years
      It was easy enough to override my path: export PATH=$HOME/local/bin:$PATH to specify an override file of ~/local/bin/xcrun to include the hack. I also had to run sudo xcode-select -switch /usr/bin to match the -print-path.
    • Erik Kaplun
      Erik Kaplun over 10 years
      Looks like the hack needs to be put in /usr/bin/xcrun not an xcrun override somewhere else in the PATH.
  • Lukas Grebe
    Lukas Grebe over 11 years
    i just have the Command Line Tools installed, not Xcode. Setting the Path to /usr/bin made the most sense to me, as compilers reside there… switching thus results in an error: xcode-select: Error: Path "/Applications/Xcode.app" is not a directory.
  • Lukas Grebe
    Lukas Grebe over 11 years
    What a dirty hack! I wonder when it'll come back to bite me: I replaced xcrun with a two line shell script: #!/bin/bash $@
  • Ned Deily
    Ned Deily over 11 years
    Heh. Another thing: the standalone Command Line Tools does not provide SDKs like the full Xcode does. So if what you are building requires an SDK for an earlier OS level, you'll need the full Xcode install.
  • Tom Rossi
    Tom Rossi about 11 years
    Wow. That hack worked for me! It ain't pretty, but better than installing over a gig of crap I don't need.
  • James Boutcher
    James Boutcher about 8 years
    xcode-select: error: invalid developer directory '/usr/bin' ?