From 39faa3dd255dfd20fe55ac3565afb1b44807f533 Mon Sep 17 00:00:00 2001 From: Andrew Schwartzmeyer Date: Thu, 4 Aug 2016 10:16:41 -0700 Subject: [PATCH] Fix OS X OpenSSL link for .NET Core Due to https://github.com/Homebrew/brew/pull/597, .NET Core's installation instructions of `brew link --force openssl` are now invalid (for good reasons, due to security holes). Until .NET Core updates their libraries to find the OpenSSL libraries correctly, we can update them as part of `Start-PSBootstrap`. See https://github.com/dotnet/cli/issues/3964 --- build.psm1 | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/build.psm1 b/build.psm1 index a419b7c48a..ad44e0e92c 100644 --- a/build.psm1 +++ b/build.psm1 @@ -213,6 +213,13 @@ function Start-PSBuild { $RestoreArguments += "$PSScriptRoot" Start-NativeExecution { dotnet restore $RestoreArguments } + + # .NET Core's crypto library needs brew's OpenSSL libraries added to its rpath + if ($IsOSX) { + # This is the restored library used to build + # This is allowed to fail since the user may have already restored + find $env:HOME/.nuget -name System.Security.Cryptography.Native.dylib | xargs sudo install_name_tool -add_rpath /usr/local/opt/openssl/lib + } } # handle ResGen @@ -630,8 +637,6 @@ function Start-PSBootstrap { if ($Package) { $Deps += "ruby" } # Install dependencies brew install $Deps - # OpenSSL libraries must be updated - brew link --force openssl } # Install [fpm](https://github.com/jordansissel/fpm) @@ -663,6 +668,13 @@ function Start-PSBootstrap { curl -s $obtainUrl/$installScript -o $installScript chmod +x $installScript bash ./$installScript -c $Channel -v $Version + + # .NET Core's crypto library needs brew's OpenSSL libraries added to its rpath + if ($IsOSX) { + # This is the library shipped with .NET Core + # This is allowed to fail as the user may have installed other versions of dotnet + find $env:HOME/.dotnet -name System.Security.Cryptography.Native.dylib | xargs sudo install_name_tool -add_rpath /usr/local/opt/openssl/lib + } } # Install for Windows