xcode 8 on 10.11

Since this isn't the first time this has happened, it would be nice to know what the official policy is with this problem.


Running latest 10.11, installed xcode-8, as software update suggested I do.


kext no longer compile/load due to the message:


Sep 14 14:06:35 icgi-vip kernel[0]: kxld[net.lundman.zfs]: The super class vtable '__ZTV20IOBlockStorageDevice' for vtable '__ZTV27net_lundman_zfs_zvol_device' is out of date. Make sure your kext has been built against the correct headers.


Right, since it compiles against /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Kernel.framework/Headers


I guess that is true. But of course xcode deletes the MacOSX10.11.sdk entry, so there is no way to compile kext for the OS I am on? This seems a strange situation to put developers into.


I can copy MacOSX10.11.sdk from another host, but presumably Apple has something else in mind here.

Replies

Seeing the same here. Completley stuck here since there is this time also no option to downlowd the 10.11 SDK.


-- Fons

I downloaded and installed Command_Line_Tools_OS_X_10.11_for_Xcode_7.3.1.dmg and everything can be compiled again. I just would like to know what Apple's idea of what we should do is.

Apparently the Xcode 8 Command Line Tools for 10.11 was pulled at the last moment because the 10.11 SDK was being installed in / rather than the 10.12 SDK required for the Swift 3 compiler to work. It doesn't sound like this will be fixed in time for the Xcode 8.0 release. Note that if you have the Xcode 8.0 application installed on 10.11 and execute 'xcode-select --install' from a Terminal window, the Xcode 7.3.1 Command Line Tools will be installed which creates a mismatch between the installed Xcode.app and Command Line Tools.

But this seems to be what lundman did by reinstalling the command line tools, right?

lundman now has a mismatched Command Line Tools and Xcode.app. Depending on what the current active developer directory is according to 'xcode-select -p' (ie /Applications/Xcode.app/Contents/Developer vs /Library/Developer/CommandLineTools), he will be using either the Xcode 7.3.1 or 8.0 compilers. I complained as far back as Xcode 7.0 GM (radar://22649761) about the mismatched SDK's between the Command Line Tools and Xcode.app (where the former has 10.10 SDK and the latter has the 10.11 SDK in Xcode 7.3.1). This issue was ignored and has come around to bite them.

Just to be clear, Apple policy since Xcode 7 has been to only distribute the newest SDK with Xcode.app. So when a new OS release arrives, Xcode will build with that release's SDK even on the previous OS release. Unfortunately, this change was never extended to the SDK installed in / by the assoicated Command Line Tools for the prior OS release.

I seem to have run into this problem: Xcode 8.2.1 on OSX 10.11.6. I ran 'xcode-select --install' from a Terminal window in order to fix some path problems related to compiling an app using libraries installed via homebrew.
But now, I'm trying to build an app with XCode and get the error that my target platform is 10.11, where XCode builds for 10.12. But the SDK for MY platform 10.11. seems to be gone.

How do I clean up the mess?