Bug 41786

Summary: Mono is broken when building with the macOS 10.12 SDK
Product: [Mono] Runtime Reporter: Rolf Bjarne Kvinge [MSFT] <rolf>
Component: GeneralAssignee: Bugzilla <bugzilla>
Status: RESOLVED FIXED    
Severity: critical CC: alkpli, mono-bugs+mono, mono-bugs+runtime
Priority: ---    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS   
Tags: Is this bug a regression?: ---
Last known good build:

Description Rolf Bjarne Kvinge [MSFT] 2016-06-14 07:25:45 UTC
This happens:

Dyld Error Message:
  Symbol not found: _clock_getres
  Referenced from: /work/*/mono
  Expected in: /usr/lib/libSystem.B.dylib

because apparently macOS 10.12 has implemented clock_getres now, and we enter this: https://github.com/mono/mono/blob/master/mono/utils/mono-time.c#L150, but that obviously doesn't execute on older OSXes.
Comment 2 Rolf Bjarne Kvinge [MSFT] 2016-06-14 14:15:47 UTC
This might be a bug in Apple's headers, which don't hide the symbol when targeting an earlier macOS: https://gist.github.com/rolfbjarne/b2160f954f8b6ab1debd7c1ec22e9851
Comment 3 Alexander Köplinger [MSFT] 2016-06-14 14:48:03 UTC
I sent a PR which should workaround this: https://github.com/mono/mono/pull/3165
Comment 4 Alexander Köplinger [MSFT] 2016-06-14 17:16:11 UTC
Committed to master and 4.5.1.

@Rolf: can you please file a radar with Apple so that they can fix this?