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

Ad N picture Ad N · Sep 29, 2016 · Viewed 8.2k times · Source

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 ?

Answer

Simon Wright picture Simon Wright · Jun 4, 2019

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)