Ad N
Ad N

Reputation: 8376

How to get the path to the current MacOSX SDK when only Command Line Tools are installed?

We are trying to locate the current platform SDK used by some of our OSX machines (10.11). On those machines, only the Command Line Tools are installed, not the full blown Xcode app.

Looking up on SO, we were able to find the command xcrun --show-sdk-path, which prints out an empty line.

On the other hand, xcrun --show-sdk-version correctly shows 10.11.

Is there a way to locate the path to the SDK used by our compilation tasks ?

Upvotes: 5

Views: 11269

Answers (2)

Simon Wright
Simon Wright

Reputation: 25491

This is very late, but I've only just started grappling with this.

Running on El Capitan, 10.11.6.

$ xcrun --show-sdk-version
10.11
$ xcrun --sdk macosx10.11 --show-sdk-path
          << blank line here

but

$ xcrun --sdk macosx10.12 --show-sdk-version
10.12
$ xcrun --sdk macosx10.12 --show-sdk-path
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

Just for completeness,

$ xcrun --sdk macosx10.13 --show-sdk-version
10.11
$ xcrun --sdk macosx10.13 --show-sdk-path
          << blank line here

and

$ ls -l /Library/Developer/CommandLineTools/SDKs/
total 8
drwxr-xr-x  5 root  wheel  170  4 Jun 16:14 MacOSX.sdk
lrwxr-xr-x  1 root  wheel   10  4 Jun 16:13 MacOSX10.12.sdk -> MacOSX.sdk

(isn't that last symlink the wrong way round?)
(no, it’s the way Apple intended, judging by Mojave)

Upvotes: 3

jwd630
jwd630

Reputation: 4675

How about

xcode-select --print-path

The man page says:

Prints the path to the currently selected developer directory. This is useful for inspection, but scripts and other tools should use xcrun(1) to locate tool inside the active developer directory.

On a Mac with only the command line tools installed I get:

/Library/Developer/CommandLineTools

and xcrun --show-sdk-path gives me the same blank line as you get.

Upvotes: 2

Related Questions