Sdk: .NET Core 2.0 Installer Should Check the OSX version before continuing with the installation

Created on 8 Aug 2017  路  4Comments  路  Source: dotnet/sdk

Steps to reproduce

  1. Download and install .NET Core 2.0 on Mac OS El Capitan from below.
    https://aka.ms/dotnet-sdk-2.0.0-preview2-osx-x64

Expected behavior

Installer should alert the user about the compatible OS (Sierra is the minimum version that is supported for 2.0) and terminate the installation.

Actual behavior

Installer succeeds in installing .NET Core 2.0 on El Capitan but fails the test run with a message "Lazy symbol binding failed: ........ libcoreclr.dylib built for Mac OSX 10.12" .

*The installer is not doing the OS check. Since .NET Core 2.0 is not supported on El Capitan (10.11) the error is expected but the installer should check the OS and exit gracefully with a message at the start when detected about an incompatible OS. *

Environment data

os-x-10:~ Raviu$ dotnet --info
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
Referenced from: /usr/local/share/dotnet/shared/Microsoft.NETCore.App/2.0.0-preview2-25407-01/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: /usr/local/share/dotnet/shared/Microsoft.NETCore.App/2.0.0-preview2-25407-01/libcoreclr.dylib (which was built for Mac OS X 10.12)
Expected in: /usr/lib/libSystem.B.dylib

Most helpful comment

Thanks @vcsjones. Considering that Linux is also still supported and presumably that target still uses OpenSSL, it's disappointing that the same OpenSSL support couldn't be extended to pre-Sierra OS X. I realize the extra OpenSSL setup needed to get the library and link it is a drag, but it's preferable to buying a new machine.

All 4 comments

Can someone point to a rational explanation for this new cut-off? Not all of us have $3k to dump on new iron every few years, and my old Mac Pro is still plenty powerful for development, it's just a smidge too old for Sierra.

Can someone point to a rational explanation for this new cut-off? Not all of us have $3k to dump on new iron every few years, and my old Mac Pro is still plenty powerful for development, it's just a smidge too old for Sierra.

A "concrete" example is because .NET Core 2.0 moved to a different library for cryptographic operations on macOS. It now uses the built-in CommonCrypto and Security.framework. However 10.12 was the first version of macOS to have the necessary APIs to make that happen.

Also keep in mind that Apple's support policy for El Capitan at this point is extended support only, it is not in mainstream support.

Thanks @vcsjones. Considering that Linux is also still supported and presumably that target still uses OpenSSL, it's disappointing that the same OpenSSL support couldn't be extended to pre-Sierra OS X. I realize the extra OpenSSL setup needed to get the library and link it is a drag, but it's preferable to buying a new machine.

Was this page helpful?
0 / 5 - 0 ratings