Skip to content

Use a fixed SDK for Mac OS X builds

Apple releases new systems with new SDK versions. Official documentation says that it is enough to use newest SDK with MACOSX_TARGET set to lowest supported version of Mac OS X. This is not always true, as they try to keep all new features conditionally included, but they sometimes fail.

For example /usr/include/sys/mman.h file has been changed between SDK10.10 and SDK10.11 without any compatibility flags and resulted in #13005 (closed) (Mac OSX uses MAP_ANON in place of MAP_ANONYMOUS).

The solution is:

Overall would be best to compile using all supported SDKs, but given lack of CI machines I think it is better to build with minimum version. Apple is pretty good at keeping backward compatibility on source level.

Trac metadata
Trac field Value
Version 8.0.1
Type Task
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information