Xcode 7.3 not able to use older SDKs

Xcode 7.3 fails to present the developer with older SDKs. (We filled its SDKs folder with the links to the older SDKs which we need to build).


Needless to say that the older SDKs are needed to build kernel software running at previous OS versions.


Cheers,

Hagen.

Accepted Reply

I am seeing this message from xcodebuild too, but the build is successful (I'm building 32 bit arch against 10.6 and 64 bit against 10.11 and both succeed).


The "Base SDK" setting does fail to show other installed SDKs, but I have a "User-defined" build setting


SDKROOT_i386 = $(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk

I guess you could do the same setting SDKROOT with no arch

Replies

[MT] DVTSDK: Skipped SDK /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk; its version (10.9) is below required minimum (10.11) for the macosx platform.

I am seeing this message from xcodebuild too, but the build is successful (I'm building 32 bit arch against 10.6 and 64 bit against 10.11 and both succeed).


The "Base SDK" setting does fail to show other installed SDKs, but I have a "User-defined" build setting


SDKROOT_i386 = $(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk

I guess you could do the same setting SDKROOT with no arch

Thanks,

that did it.


What I used until now was (and was notated by the Xcode IDE in that form as well):

SDKROOT=macosx10.9

which does not work anymore and fails with:


Check dependencies
error: There is no SDK with the name or path '/Users/[my_project_path]/macosx10.7'

Which is nuts. Ofcourse there is no SDK in my Xcode project path...


Cheers & thanks,

Hagen.

I had the same problem. However, I have found a workaround solution.


Install Xcode and runs. Quit Xcode. Now Xcode.app can be modified.


edit (with Xcode) the MinimumSDKVersion key value in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist



Quit Xcode. Now you can install the SDK as usual.


Ciao! agx.

Post not yet marked as solved Up vote reply of agx Down vote reply of agx

Oh, thanks for sharing the finding!

So its not a bug - its just intended annoyance.

agx, you are either a genius, a damned good guesser, or you got inside information from Apple. Whatever, you have made my day, and that of my co-worker. THANK YOU.

Dear jerrykrinock, it was just a fluke.


Normally, when Apple releases an update of the same (MacOSX.platform, iPhoneOS.platform, ...) platform SDK, I scruple, comparing the same (MacOSX.platform, iPhoneOS.platform, ...) platform SDK with different build using FileMerge.


This is to avoid storing identical SDK, and to see what has changed.


In this way, after comparing, and having noticed that the symbolic links (created in Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ via ln -s) to my archived SDKs were no longer loaded in Xcode 7.3, I tried changing the value of MinimumSDKVersion key (in Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist). Almost no surprise, everything was back to normal. Of course, we must realize that sooner or later this workaround will no longer work with future versions of Xcode.


In other words, we should always work with the latest SDK. The future, not the past.


agx

Hi agx,


We have deployed hundreds of customized iOS devices out in the field which unfortunately cannot run the latest and greatest iOS version.

Our work involves supporting that kind of legacy hardware, which can only run legacy versions of iOS.


Thanks for the tip regarding MinimumSDKVersion!


-Ron

"In other words, we should always work with the latest SDK. The future, not the past."


Thats true for Application development, however if your kernel extension needs to support an older OSX you are forced to build against that particular SDK as there is no such thing as "deployment target" for kernel development.


So great! With every new OSX, SDK or Xcode version there are new obstacles in the otherwise boring development path. The Bugs stay though.

[MT] DVTSDK: Skipped SDK /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk; its version (10.9) is below required minimum (10.11) for the macosx platform.


Hagen,

I just upgraded to 7.3 and immediately ran into this problem.


But I will jump in with a bit irrelevant question:

Where do you find the above text;

It looks like an xcode log entry.


I am trying to find in which log file xcode records its "decisions", hopping that it will help me solve this: keep getting a Generic Xcode archive insted of a Mac app archive

thanks

Michael

If you absolutely need to support old hardware (PPC Macs, armv6 iOS devices, etc.), I recommend keeping a bootable HD (plus backups) with the last OS X version and the last Xcode version that was successfully used to support your required hardware.


Supporting software for pre-Carbon 68k Macs is a little more difficult ...

I had continual "this file is locked" errors when trying to change the MinimumSDKVersion" value.


In the end, running this line in Terminal was the solution:


sudo /usr/libexec/PlistBuddy -c "Set :MinimumSDKVersion 10.9" /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist

This workaround still works in Xcode 8.0 (8A218a) (the "GM"). I was just able to build a macOS target with the 10.6 SDK.

Users should not install anything, including older SDKs, inside the Xcode app bundle; doing so is unsupported and can lead to problems. Modifying the contents of anything inside the Xcode app bundle is also unsupported.


In particular the compiler, linker, indexer, and so on that are included with a given Xcode release are only qualified for use against the SDKs that are included in that release.

I also run Xcode 8.0 (8A218a) (the "GM").


I download (https://github.com/phracker/MacOSX-SDKs/releases) the sdk's I needed and used:

sudo /usr/libexec/PlistBuddy -c "Set :MinimumSDKVersion 10.7" /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist

to change the locked info.plist element containing the MinimumSDKVersion.


For what ever reason Xcode didn't recognize the SDK's in my project settings -> Build Settings until the day after I did the above.

For me the solution was a reboot of the system (my MacBook bat, went low and therefore I think the reboot did the trick).


Thanks for all the info.


Tom