dotnet / sdk

Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
https://dot.net/core
MIT License
2.68k stars 1.06k forks source link

macOS builds compiled on macOS 10.12 aren't compatible with macOS 10.11 #8304

Closed alexforster closed 4 years ago

alexforster commented 7 years ago

Recent macOS builds that have been compiled with Xcode 8 on macOS 10.12 are not compatible with macOS 10.11.

This "weak imports" issue is discussed in more detail here:

Steps to reproduce

$ uname -a
Darwin alexforster-mbp.local 15.6.0 Darwin Kernel Version 15.6.0: Tue Apr 11 16:00:51 PDT 2017; root:xnu-3248.60.11.5.3~1/RELEASE_X86_64 x86_64
$ wget https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-dev-osx-x64.latest.tar.gz
$ tar xf dotnet-dev-osx-x64.latest.tar.gz
$ ./dotnet --version
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
  Referenced from: /Users/aforster/Desktop/dotnetsdk/shared/Microsoft.NETCore.App/2.0.0-preview2-25319-02/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _clock_gettime
  Referenced from: /Users/aforster/Desktop/dotnetsdk/shared/Microsoft.NETCore.App/2.0.0-preview2-25319-02/libcoreclr.dylib (which was built for Mac OS X 10.12)
  Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap: 5

Environment data

Note: this output is not from the version I am reporting about

dotnet --info output:

$ dotnet --info
.NET Command Line Tools (1.0.4)

Product Information:
 Version:            1.0.4
 Commit SHA-1 hash:  af1e6684fd

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.11
 OS Platform: Darwin
 RID:         osx.10.11-x64
 Base Path:   /usr/local/share/dotnet/sdk/1.0.4
omajid commented 7 years ago

I thought this was intentional. 10.12 is now the minimum required version: https://github.com/dotnet/core-setup/pull/2470

alexforster commented 7 years ago

Then that explains that.

For what it's worth, Sierra appears to only have about 45% adoption at the moment, with El Capitan at around 25%. I am personally surprised to see El Capitan support dropped so quickly. Most of the people I work with tend to stick back for ~a year to let things settle down, since we depend on more esoteric/community-supported software than the typical user.

dasMulli commented 7 years ago

Also see https://github.com/dotnet/core/blob/master/roadmap.md#net-core-20---supported-os-versions