Azure / azure-functions-vs-build-sdk

MSBuild task for Azure Functions
MIT License
98 stars 65 forks source link

Build failing due to wrong x64 version of libhostpolicy.dylib being installed on arm64 dotnet #621

Closed arpanpreneur closed 8 months ago

arpanpreneur commented 10 months ago

I am on Mac M1 and using .NET 8 LTS arm64 version. I am getting the following error when trying to build with Microsoft.NET.Sdk.Functions 4.2.0 installed in my Functions App project. The issue is, wrong x64 version of libhostpolicy.dylib is being picked up during build. My Rider IDE is also arm64 version.

'/usr/local/share/dotnet/shared/Microsoft.NETCore.App/6.0.18/libhostpolicy.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), 

No other library has given me such issue and I can build the project successfully without this library, so I am assuming it is to do with this particular library.

dotnet --info output

.NET SDK:
 Version:           8.0.100
 Commit:            57efcf1350
 Workload version:  8.0.100-manifests.6c33ef20

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  13.5
 OS Platform: Darwin
 RID:         osx-arm64
 Base Path:   /usr/local/share/dotnet/sdk/8.0.100/

.NET workloads installed:
 Workload version: 8.0.100-manifests.6c33ef20
There are no installed workloads to display.

Host:
  Version:      8.0.0
  Architecture: arm64
  Commit:       5535e31a71

.NET SDKs installed:
  7.0.402 [/usr/local/share/dotnet/sdk]
  8.0.100 [/usr/local/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.12 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.0 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.26 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.29 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.18 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.12 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.0 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  /Users/lockstepapac/projects/monorepo/LockstepAPI/src/SNAppBackend/global.json

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Build Output Below Truncated

Build with surface heuristics started at 22:16:54
Use build tool: /usr/local/share/dotnet/sdk/8.0.100/MSBuild.dll
CONSOLE: MSBuild version 17.8.3+195e7f5a3 for .NET
CONSOLE: Build started 23/11/2023 10:16:54 PM.
CONSOLE: Project "/var/folders/t1/f5hswf5j51741by2vbf3tmjh0000gn/T/Begufos.proj" on node 1 (default targets).
CONSOLE: ControllerTarget:
CONSOLE:   Run controller from /Applications/Rider.app/Contents/lib/ReSharperHost/JetBrains.Platform.MsBuildTask.v17.dll
0>------- Started building project: /filealign:512 /optimize- /out:obj/Debug/net8.0/SNAppBgWorker.Sample.dll /refout:obj/Debug/net8.0/refint/SNAppBgWorker.Sample.dll /target:exe /warnaserror- /utf8output /deterministic+ /sourcelink:obj/Debug/net8.0/SNAppBgWorker.Sample.sourcelink.json /langversion:12.0 /embed:obj/Debug/net8.0/SNAppBgWorker.Sample.GlobalUsings.g.cs /embed:"obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs" /embed:obj/Debug/net8.0/SNAppBgWorker.Sample.AssemblyInfo.cs /analyzerconfig:/Users/lockstepapac/projects/monorepo/LockstepAPI/src/.editorconfig /analyzerconfig:obj/Debug/net8.0/SNAppBgWorker.Sample.GeneratedMSBuildEditorConfig.editorconfig /analyzerconfig:/usr/local/share/dotnet/sdk/8.0.100/Sdks/Microsoft.NET.Sdk/analyzers/build/config/analysislevel_8_default.globalconfig /analyzer:/usr/local/share/dotnet/sdk/8.0.100/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll /analyzer:/usr/local/share/dotnet/sdk/8.0.100/Sdks/Microsoft.NET.Sdk/targets/../analyzers/Microsoft.CodeAnalysis.NetAnalyzers.dll /analyzer:/usr/local/share/dotnet/sdk/8.0.100/Sdks/Microsoft.NET.Sdk/targets/../codestyle/cs/Microsoft.CodeAnalysis.CodeStyle.dll /analyzer:/usr/local/share/dotnet/sdk/8.0.100/Sdks/Microsoft.NET.Sdk/targets/../codestyle/cs/Microsoft.CodeAnalysis.CodeStyle.Fixes.dll /analyzer:/usr/local/share/dotnet/sdk/8.0.100/Sdks/Microsoft.NET.Sdk/targets/../codestyle/cs/Microsoft.CodeAnalysis.CSharp.CodeStyle.dll /analyzer:/usr/local/share/dotnet/sdk/8.0.100/Sdks/Microsoft.NET.Sdk/targets/../codestyle/cs/Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes.dll /analyzer:/Users/lockstepapac/.nuget/packages/disabledatetimenow/1.0.5883.39470/analyzers/dotnet/cs/DisableDateTimeNow.dll /analyzer:/Users/lockstepapac/.nuget/packages/microsoft.azure.functions.analyzers/1.0.0/analyzers/dotnet/cs/Microsoft.Azure.Functions.Analyzers.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.0/analyzers/dotnet/cs/Microsoft.Interop.ComInterfaceGenerator.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.0/analyzers/dotnet/cs/Microsoft.Interop.JavaScript.JSImportGenerator.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.0/analyzers/dotnet/cs/Microsoft.Interop.LibraryImportGenerator.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.0/analyzers/dotnet/cs/Microsoft.Interop.SourceGeneration.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.0/analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Ref/8.0.0/analyzers/dotnet/cs/System.Text.RegularExpressions.Generator.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.AspNetCore.App.Ref/8.0.0/analyzers/dotnet/cs/Microsoft.AspNetCore.App.Analyzers.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.AspNetCore.App.Ref/8.0.0/analyzers/dotnet/cs/Microsoft.AspNetCore.App.CodeFixes.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.AspNetCore.App.Ref/8.0.0/analyzers/dotnet/cs/Microsoft.AspNetCore.Components.Analyzers.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.AspNetCore.App.Ref/8.0.0/analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll /analyzer:/usr/local/share/dotnet/packs/Microsoft.AspNetCore.App.Ref/8.0.0/analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll Program.cs SamplePeriodicJob.cs obj/Debug/net8.0/SNAppBgWorker.Sample.GlobalUsings.g.cs "obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs" obj/Debug/net8.0/SNAppBgWorker.Sample.AssemblyInfo.cs /warnaserror+:NU1605,SYSLIB0011
SNAppBgWorker.Sample -> /Users/lockstepapac/projects/monorepo/LockstepAPI/src/SNAppBackend/src/SNAppBgWorker.Sample/bin/Debug/net8.0/SNAppBgWorker.Sample.dll
3>Microsoft.NET.Sdk.Functions.Build.targets(32,5): Error  : Failed to load /usr/local/share/dotnet/shared/Microsoft.NETCore.App/6.0.18/libhostpolicy.dylib, error: dlopen(/usr/local/share/dotnet/shared/Microsoft.NETCore.App/6.0.18/libhostpolicy.dylib, 0x0001): tried: '/usr/local/share/dotnet/shared/Microsoft.NETCore.App/6.0.18/libhostpolicy.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/share/dotnet/shared/Microsoft.NETCore.App/6.0.18/libhostpolicy.dylib' (no such file), '/usr/local/share/dotnet/shared/Microsoft.NETCore.App/6.0.18/libhostpolicy.dylib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))
An error occurred while loading required library libhostpolicy.dylib from [/usr/local/share/dotnet/shared/Microsoft.NETCore.App/6.0.18]

3>Microsoft.NET.Sdk.Functions.Build.targets(32,5): Error  : Metadata generation failed.
3>------- Finished building project: SNAppBgWorker.Sample. Succeeded: False. Errors: 2. Warnings: 0
Build completed in 00:00:07.491
bhagyshricompany commented 9 months ago

Hi @arpanpreneur thanks for reporting pls share all repro steps,and function invocation id,timestamp region if you deployed.

microsoft-github-policy-service[bot] commented 9 months ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.